BBS Express!
1030/XM301 and 850 versions
by Keith Ledbetter
Copyright (C) 1986-1989
by
Orion Micro Systems
All rights reserved. Reproduction or translation of any
part of this work beyond that permitted by sections 107 and
108 of the United States Copyright Act without the permission
of the copyright owner is unlawful.
Orion Micro Systems
2211 Planters Row Drive
Midlothian, Virginia 23113
For Technical Assistance, call our support BBS at (804)
379-4156. Online 24 hours a day at 300/1200/2400 baud.
Technical Assistance is also available on the following
Bulletin Board System:
M.O.U.S.E. BBS (219) 674-9288
Or Leave A Message On GEnie's
Atari 8-bit Round Table To ORION.MICRO
This Program Was Written Using ACTION!
ACTION! is a Trademark of Action Computer Services
Portions of this program are (c) 1984, A.C.S.
Modem Handler is (C) Atari Corp. Permission Granted.
Atari is a trademark of Atari Corp. Sunnyvale, CA
SpartaDOS is a trademark of ICD, Inc. Rockford, IL
BBS Express!
Table of Contents
Section Page #
------------------------------------------------------------
1. Introduction .................................. Page 1
2. Getting Started ............................... Page 3
3. Creating The Userlog .......................... Page 5
4. Security Levels ............................... Page 6
5. The Message Bases ............................. Page 7
6. Creating The Message Bases .................... Page 9
7. The System Data File .......................... Page 11
8. Sysop Defined Commands ........................ Page 16
9. Variable Tags and The Help Files .............. Page 17
10. The Individual Help Files ..................... Page 19
11. Download Filename Format ...................... Page 23
12. The Prompt Dataset ............................ Page 26
13. Going Online .................................. Page 27
14. Sysop Logon Modes ............................. Page 29
15. The Screen Display ............................ Page 30
16. The Sysop Commands ............................ Page 31
17. The User Editor ............................... Page 34
18. Extending The Userlog ......................... Page 36
19. Additional Utilities .......................... Page 38
20. A Sample Configuration ........................ Page 39
21. Finished ...................................... Page 40
BBS Express!
Introduction
Thank you for choosing BBS Express! as your bulletin board
system. Express! is the most dependable, as well as the
quickest, bulletin board system available for your 8-bit
Atari.
This manual is arranged in a manner which will take you
through the steps to get your bulletin board system up and
running quickly. The topics covered are arranged in step by
step procedures covering the main elements of setting up
Express!, which are:
1. Choosing a DOS to use.
2. Formatting all needed Data Disks.
3. Creating the user data file.
4. Creating the message bases.
5. Editing/Creating all needed help files.
6. Copying files to their related drives.
7. Booting up and testing your BBS!
While the manual is arranged in a step-by-step fashion,
there are still areas which depend heavily on other (later
introduced) options. Because of this, it is recommended that
you read this manual in its entirety before attempting to set
up the board. Configuring your board will be a much easier
task if you do!
The most important thing that can be stressed with Express!
is to THINK and PLAN ahead. Express! gets its speed by
pre-allocating both the userlog and the message bases to
their absolute maximum size. This is most evident on the
message bases, where a full base with 75 messages can be
loaded in under 2 seconds! Not only that, but because of
Express's unique message base structure, you (the Sysop) will
NEVER have to compact message bases! Express! does this
automatically, while the caller is online, when a message
base fills up. For Express! to delete a message requires
roughly a couple of milliseconds, since all that must be done
is to delete a pointer from RAM.
Also, the importance of frequent backups can't be stressed
enough. You will find that BBS Express! can run for
literally weeks without ever being taken down, so you might
have a tendency to get a little lax on the backups. Please,
don't fall into this trap. In six months of testing at two
sights (24 hours a day, 7 days a week), Express! crashed only
twice, and neither were attributable to Express!. Once was
when the power went off (Keith is still working on the 'power
[1]
BBS Express!
supply' code!) and the second was when a disk was physically
worn out and a bad sector popped up. The moral of this is
that these things WILL happen eventually, so make sure you
are always prepared!
On the note of backups, you MUST back up your disks that
contain the user log and message bases WITH A SECTOR COPIER
OR DUPDSK function if you are using an Atari 2.0 compatible
DOS. The user log and message bases CANNOT be restored as a
file. The entire DISK must be restored. This is because
these files are heavily indexed by sector number. With any
Atari 2.0 compatible DOS, the file must always reside on the
same physical sectors that it was originally created on. If
you are using SpartaDOS 2.x or greater, then you may freely
copy both message bases and user log by DOS file copying.
This is due to the fact than Sparta DOS handles notes and
points differently than Atari 2.0-compatible DOS's.
With these words of warning, let's get started on setting
up your BBS!
[2]
BBS Express!
Getting Started
Now, before we start setting up your BBS system, you must
make a big decision. Which DOS are you going to use? This
is probably the biggest decision to be made under Express!.
Are you going to be using a RAM disk? How many disk drives
are you using?
If you have an XL or XE computer, Orion Micro Systems
recommends that you use SpartaDOS (version 2.x or greater).
This is a very powerful DOS, with a very low LOMEM and
excellent Ramdisk support. In addition, message bases and
user log may be DOS file copied, which makes moving the
message bases much easier should that need arise in the
future.
If you prefer to use another DOS for your BBS system, then
the only requirement is that it can be configured not to
conflict with the modem handler. This means you must be able
to get the LOMEM value down to around the area of $1E00.
Since there are so many DOS's available today, there is no
'cut and dry' configuration set-up, and it is likely that
there will have to be some experimentation on your part by
configuring for different number of drives and buffers to get
things to work properly. If you are currently using the
terminal program 1030 Express! or 850 Express!, then the same
configuration's will work fine with BBS Express!, since the
handlers load in at the same location in memory.
Before we go any further, you should make a back-up copy of
both sides of your original Express! disk. Express! is not
copy-protected, so you can either copy it with a sector
copier or by a file-by-file copy from any DOS. Once you have
backed up your original disk, file it away in a safe place
and use your backup version from here on out.
At this time, you should also format a blank diskette with
the DOS that you have chosen to use for your BBS. Then, copy
the files from the FRONT side of the Express! disk to it.
This is so that you will be running all of the creation
programs under the same DOS that you plan to use on the BBS.
If you are using SpartaDOS and have an Atari 1050 disk drive
with a US Doubler installed, you can format the disk using
the high speed option. This will speed up the booting
process as well as the file creation process. The high speed
option can also be used when formatting your working data
disks.
The next step is to format blank disks with NO DOS. You
will need to format a fresh disk for each drive that you plan
to use on the BBS system. After you have formatted these
[3]
BBS Express!
disks, label them appropriately so there will be no confusion
once you have actually started the configuration process (ie:
Data Disk 1, Data Disk 2, etc.).
Throughout this manual, you will see the words PATHNAME and
FILENAME used quite a bit. You should understand the
definitions of these terms before continuing to configure BBS
Express!.
PATHNAME - To the BBS, a pathname is the text string that
PREFIXES the actual dataset name. When the BBS uses a
pathname, it will append the dataset name that it wants onto
the END of the pathname. If you are using a DOS that doesn't
support pathnames (such as DOS 2.0 or DOS 2.5), then the
pathname will only be the drive specifier, such as 'D1:' or
'D8:' (note the colon!).
FILENAME - A filename to the BBS is the FULL specifier for
the file, including drive specifier, path name, dataset name,
and extender.
Here are some examples:
FILENAME PATHNAME
D1:USERLOG.DAT D1:
D2:BBSDATA>USERLOG.DAT D2:BBSDATA>
D8:MENUS>MAIN.HLP D8:MENUS>
D3:LIBRARY.HLP D3:
D8:MENUS:MAIN.HLP D8:MENUS:
As you notice above, some DOS's like SpartaDOS use the '>'
character as the path specifier, while other DOS's like MyDOS
use the ':' character. You must use the correct path
specifier for the DOS that you are using!
[4]
BBS Express!
Creating the Userlog
Now that you have all of your data disks formatted to their
proper density, we are ready to begin. The first thing that
needs to be done is to create the user log dataset, which is
the dataset that contains information on each user of your
BBS.
This process requires some thinking ahead on your part,
since the ENTIRE userlog is pre-allocated. You should plan
on setting up for the maximum number of users that you ever
want to allow on your BBS. You may later decide to extend
your userlog by utilizing the UEXTEND.COM utility supplied on
the Express! disk. Decide how many users you want as a
maximum on your board (if you figure on, say, 150 maximum,
why not pad on an extra 25?). Once you have decided on the
number of users, insert the back-up version of your Express!
disk in drive #1, and load and run the file MAKEULOG.COM.
Once the program boots up, you will be prompted with 'MAX
ENTRIES ==>'. Enter in the max number of users you want
allocated and press RETURN. The program will next prompt you
to 'Insert Disk to Create Files, Then Press The START Key'.
Put your freshly formatted data disk into drive #1 and press
START. The program will grind away for a while (more users =
longer run time). When the program completes, you have
finished step one in getting your BBS system up and running
(I TOLD you it was easy!). The data disk now contains 2
additional data sets, which are the userlog data file and the
userlog index file. They are named USERLOG.DAT and
USERLOG.IDX, respectively.
[5]
BBS Express!
Security Levels
The security level scheme used by BBS Express! is at the
BIT level. What this means is that each of the 8 bits in the
user's security level byte correspond to one of the 8
security levels. The main reason behind this security level
scheme was to give you more flexibility in giving people
access to different parts of your BBS. With this security
level system, you validate users level by level starting with
level 1 and carrying up through level 8. The advantage to
this scheme is that you can selectively give people access to
a higher level feature WITHOUT giving them access to lower
features. For example, you can give users access to level 5
functions but NOT give them access to level 1 and level 2
functions, if you so choose.
Perhaps a thorough explanation of how the BBS validates
users would help make this more clear. There are security
levels of 0-8 for both message bases and download files.
Assume that message base #3 has a security level of 6. Here
is what would happen when the user tried to enter base #3:
If BIT 6 of User's Security Level = 1 then
Allow Access
Else
Don't Allow Access
Great, you say. But how do you figure out these security
levels? Well, if you are using the UEDITOR.COM to change the
user's security level, you will be prompted BY LEVEL for
whether the user has access to level 1 functions, then level
2 functions, etc. If you are validating the user while
he/she is online, then you are on your own to add up the
correct bit patterns. But, it really isn't that difficult.
Let's look at the following chart:
Security Level 1 2 3 4 5 6 7 8
---------------------------------------------------------
Amount to Add 1 2 4 8 16 32 64 128
Using the above table, you can see that to give a user
access to level 1, 4, and 5 functions you would add 1 + 8 +
16 for a security level of 25. Pretty simple, huh? A SYSOP
security level is 255 (which is all of the numbers above
added together). You CAN give users access to level 8
functions AS LONG AS AT LEAST ONE LOWER LEVEL FUNCTION IS A
ZERO. If you give them access to ALL of the levels, then
they have just become a SYSOP as far as the program is
concerned.
This same scheme is used on download files, too. When a
user is browsing files and the BBS finds a level 2 file, it
will only show the file to the user if their BIT 2 is turned
on.
[6]
BBS Express!
The Message Bases
We are now ready to configure the message bases for your
BBS system. This, too, requires some thinking ahead on your
part. Express! allows you some very powerful options
regarding message bases, so we will discuss the message base
layouts before proceeding on.
Under Express!, you can control the number of message bases
that are available to the user. Some sysops may want more
bases and less download space, while others will prefer
having only one or two bases, leaving more disk space for
other things. Once you have created your message bases, they
will never grow any larger (in disk space) than what they
were originally. This makes it possible for you to take your
free sectors on a disk down to where the disk is almost full,
without any worries of getting 'disk full' errors. There is
a price that must be paid for this kind of luxury: once a
message base has been allocated, the number of messages /
bytes per message sizes CANNOT be changed without deleting
the existing base (and all of its messages) and creating a
new message base or by creating a new message base and
running the utility LOADBASE.COM which will copy all messages
in the old message base to the newly created message base.
More about this procedure later.
So, once again, the moral is PLAN AHEAD!.
The things that you should decide on ahead of time are:
* How many message bases do I want on my system?
* What is the number and name of each message base (15
chars max).
For example, base one might be 'GENERAL', base two might be
'QUESTIONS', and so on.
* What is the security level of each message base?
Each message base may have a security level of 0 - 8. This
allows you to set up special bases like a 'user group' base,
and then selectively allow only certain users to access those
messages.
* On what disk drive do I want each message base to be?
Each message base can be on any disk drive you wish.
Message bases can be on RAM disks if you are utilizing
SpartaDos and may be periodically copied to a floppy disk for
permanent backup. But, fair warning, if your message bases
reside on ramdisk and you lose power, you will lose all
messages posted since your last backup.
[7]
BBS Express!
* How many messages do I want allocated for each board?
Each base may be allocated for a different number of
messages. For example, you could set up base one to have a
max of 50 messages, but set up base two to have a max of only
25 messages. There is NO message base compaction required
under Express. What happens is the system DELETES a message
when it needs to. For example, lets say that you set up base
1 to have a maximum of 50 messages. When a user posts a new
message on that base, Express will check to see if there are
already 50 messages there. If there are, then Express will
delete message number one, roll everything up, and post this
new one as message number 50!
* How many characters per message do you want each message
to be?
The message editor of Express! works not on a 'number of
lines' basis, but on a 'bytes per message' basis. This
allows you the ability to make your BBS appear to be much
bigger than it really is by creating more message bases with
lower specifications on the bytes per message. A good
starting point to think about is 1000 bytes per message. I
know that doesn't sound like a very big message, but you
would be surprised at how much a user can put into a 1000
byte message. This value can be anywhere from 100 bytes per
message up to 1750 (a HUGE message).
There is one special message base that you should always
allocate: base # 100. This is the Electronic Mail area. As
far as Express! is concerned, E-mail is just another message
base (although to the user, it looks totally different). You
should ALWAYS allocate a Board # 100! Also, ALWAYS set the
security level on Board #100 to zero. This will allow level
0 users to leave feedback to you.
At this point, you may want to try out the BASIC program on
your Express! disk called CALCSIZE.BAS. This small program
will let you calculate the size (in sectors) of differently
configured message bases. The program will ask two
questions: [1] How many bytes per message, and [2] How many
messages max for the base. It will then tell you
(approximately) how many sectors, in both double and single
density, that certain configuration would take up on your
data disk. This is a good way to 'play around' with
different settings, enabling you to get the most out of the
disk space that you have available.
[8]
BBS Express!
Creating Your Message Bases
Now that you have decided on the different allocations for
your message bases, we are now ready to create them on your
data disks. Place your Express! disk into drive one and load
the binary file MAKEMSGB.COM (If you want to create your
message base in a sub-directory, you must first perform a
'change working directory' command on the data disk where the
message bases will reside). When the program boots up, you
will be asked the following questions (for each different
message base):
* Board Num ==>
Key in the board number that you want to create (boards
MUST be numbered from 1-<last> CONSECUTIVELY (you can have up
to 25 boards, numbered from 1-25).
* Board Name ==>
Enter in the name of this board (up to 15 characters long).
This name will actually appear in the message base prompt
when the user is on this base. The name can contain inverse
and/or lowercase letters.
* Sec. Lvl ==>
Enter the security level for this particular board. A
security level of zero will allow ANYONE (even first time
callers) to access this message base.
* Max Msgs ==>
Enter in the maximum number of messages that you want
allocated to this base. This can be anywhere from 1 to 75
messages.
* Bytes/Msg ==>
Enter in the size (in bytes) to which you want to limit
each message in this message base. The absolute maximum size
is 1750 bytes per message.
* Which drive to create on?
Enter in the number of the disk drive on which you want
this board created. This has NOTHING to do with where the
board will be once the system is running (that will be
specified in the SYSDATA.DAT file that we will cover later).
This option simply allows you more flexibility when
allocating your bases. MAKE SURE that you insert the correct
data disk for this board! In other words, if you want
message base 5 to be on disk drive #2 when the board is
[9]
BBS Express!
running, make sure that you insert Data Disk #2 into the
drive that you just specified!
At this point, the program will prompt you to insert the
data disk into the drive that you specified above, and then
to press the START key. Once you do this, the program will
create the message base on your disk, and will then return to
the 'Board Num.==>' prompt to allow you to continue this
process and create your next message base.
When you have completed this process for every one of your
message bases, you should then do the E-Mail base, which is
board #100 (see above). Don't forget, set the Board # to
100, and the security level to 0!
When you are finished creating all your message bases
including Email, enter a '0' at the 'Board Num.==>' prompt to
exit the program.
[10]
BBS Express!
The System Data File
Well, if you have made it this far, you can pat yourself on
the back! We are now in the homestretch, and should have
your BBS system on-line in no time! At this point, it is
time to move on to the data files required for Express! to
run. The first file we will create is one of the most
important. This is the file called SYSDATA.DAT. There is a
utility called SYSEDIT.COM on your Express! disk that is used
to edit and/or create your SYSDATA.DAT file. Place your
Express! disk into drive one and load the binary file
SYSEDIT.COM. When the program finishes loading, you will be
prompted to either enter the fully qualified filename of
your SYSDATA file or to simply press RETURN to create a new
one. If you enter a filename, then the program will try to
read that file in to be edited. You must enter the FULL name
of the file, including the drive specifier and any path names
(if applicable).
We will now cover each command available in the SYSEDIT
program along with it's function to the BBS program itself.
"+" command
The '+' command will toggle between the three 'pages' that
are used while in the SYSEDIT program.
A. Hi Message Number
The A command allows you to modify the current 'high
message number' on your BBS. You should enter a '1' here.
After that, you should refrain from ever changing this
number, since an incorrect value here could have very strange
side effects to the operation of your BBS.
B. Total Calls
With this command, you can specify the total number of
calls that your BBS has received. If you are just starting a
BBS, you should enter a '0' here. If you have been running a
board under different software, enter the number of calls
your board has received to date.
C. Total Calls Today
This field represents the number of calls that your BBS has
received since 12:00 am of the current day. The BBS program
will automatically zero out this field when the day rolls
over to the next day. This field is also represented by a
variable tag field, which is &35.
[11]
BBS Express!
D. Number Of Bases
In this field, you must enter the number of message bases
(NOT counting the E-Mail base) that your BBS has.
E. Call Mode
A zero in this field means that the BBS will only accept
ATASCII callers, while a one signifies that the BBS will
accept either ATASCII or ASCII callers.
F. Feedback Mode
A zero here means that all 'F'eedback to the sysop will go
to the printer. If this field contains a one, then the
feedback will go into the E-Mail base as normal electronic
mail, making it much easier for you to answer feedback.
G. Level For Uploads
In this field, you specify the level that you want uploads
to be placed at. This field must have a value of 0-9. If
the level is placed at 9, then ONLY sysop level users will be
able to see the file before its level is lowered.
H. Download Ratio
This field specifies the 'upload to download ratio' that
you want for your BBS. The number you enter is simply the
number of downloads that a user can do before they must
upload a file. For example, if you enter a 10 in this field,
when a user tried to download a file, the BBS would divide
their total downloads by 10. If the number divided by 10 is
greater than the number of uploads that they have done, then
the BBS will not allow the user to download the file.
I. Initial Security Level
J. Initial Time Limit
Here you tell the BBS system what security level and time
limit that you want NEW users to get (those that request a
permanent password).
K. Secondary Password
Since all of the BBS Express! sysop commands can be
executed from a remote terminal, this field is used to
provide more system security. You specify here a secondary
password that all sysop-level callers must enter before they
are allowed access to the BBS.
L. Userlog DATA Name
In this field, you must specify the fully qualified
[12]
BBS Express!
FILENAME of your userlog dataset. You can simply enter
"D1:USERLOG.DAT" into this field or any filename you chose.
M. Userlog INDEX Name
In this field, you must specify the fully qualified
FILENAME of your userlog index file. As you did above, you
can just specify "D1:USERLOG.IDX" or the same filename you
specified above with an extender of IDX.
N. Message Base Pathname
Here you must specify the PATHNAME to be used for your
message bases. You must include the "D#" specifier, even
though its value is not used. The BBS will use the "Base
Specifier" (option Q below) to replace the "D#" with the
correct drive number for each message base. If you have your
message bases spread out over more than one drive, the
pathname MUST be the same on each diskette. For example, if
you specify a pathname of "D1:BASES>", then there must be a
sub-directory called BASES on EACH of your disks that contain
message bases. If you are not using sub-directories for your
message bases, then the value here should be 'D1:'.
O. Help File Pathname
In this field, you specify the PATHNAME where all of your
.HLP files are located (i.e.D8:HELPFILE> or just D8:).
P. File For Log Messages
In this field you specify the FILENAME where you want all
of the log messages to go. These are the messages BBS
Express! puts out when a user calls. Express will log the
Call Number, Users Name, Users City and State, Logon Time,
Baud Rate, Logoff Time and any uploads or downloads that the
user performs during the call. If you want these messages to
go to a printer, then specify "P:". If you would prefer them
to go to a disk file, then enter the fully qualified filename
of the disk file. Since the LOG routine must open the file
in APPEND mode for each line it writes out, it is recommended
that you only specify a disk file that is on ramdisk. If you
are using SpartaDOS, then writing to a floppy disk is
acceptable also, since SpartaDOS does not read the entire
file when it is opened for APPEND mode.
Q. Base / Drive Specifiers
This field is simply a long string of numbers, telling the
BBS which drive (1-8) the corresponding message base is found
on (1st position = base one, 5th position = base five, 26th
position = Email base). So, starting in position #1, enter
the drive number that each existing message base will reside.
[13]
BBS Express!
R. Sysop Defined Commands
In this field, you can specify a string of up to 8
characters that define your own personalized commands. For a
full explanation of the sysop-defined commands, see the
'Sysop Defined Commands' section found later in this
document. If you are not using sysop defined commands at
this time, this field should be left blank.
1-8. Download Paths
The commands '1' thru '8' are used to specify the PATHNAMES
that you want the BBS to use for downloads and uploads. The
paths will be searched in the order that they are specified
(ie: [1] first, [2] second). This also means that when a
user uploads a file, the BBS will start searching for free
space to do the upload in the specified order, too. You can
use this to your advantage by specifying an upload-specific
path name as number one. This way, providing there is
sufficient space, all uploads will always go to the same
pathname. Here is an example setup:
1. D2:UPLOADS>
2. D3:UPLOADS>
3. D4:DOWNLOAD>
4. D5:
5. D1:
6. D8:
Using this setup, here is what will happen when a user
uploads a file. The BBS will search the above paths in order
looking for free space. If there is enough room on drive 2,
then the file will get uploaded to the path D2:UPLOADS. If
drive two doesn't have enough room, then the BBS will check
drive 3. If room is found there, then the upload will go to
the path D3:UPLOADS.
This will continue until either enough room is found, or
the BBS determines that you are out of disk space, at which
point the upload will be aborted and the user would receive a
message saying 'Sorry...No Disk Space Is Available.'.
When a user does a Browse files command, the BBS will also
search in the above order to display any files available for
downloading.
S. Download Path Defines
In this field, you specify the density of each download
path that you specified with the '1-8' commands above. The
allowed values here are: (0) Path not used, (S) Path is a
SINGLE density path, and (D) Path is a DOUBLE density path.
If you do not specify a pathname for one of the paths 1-8
above, then that entry will be specified as 0. So assuming
[14]
BBS Express!
all your drives are double density with the exception of D8:,
which is a single density ramdisk, this option would look
like this using the above paths: DDDDDS00 In this example,
paths 1 thru 5 are used for up/down loading and are double
density drives. Path 6 is used and is single density. Paths
7 and 8 are not used for up/downloading.
After you have finished editing your SYSDATA file, press
the ESCape key to exit. You will be prompted to enter in the
fully qualified filename , including the drive specifier, to
write this new data file to. In most cases, you will respond
with the same name that you entered for the input file.
[15]
BBS Express!
Sysop-Defined Commands
One of the features of BBS Express! is the ability to have
up to 8 commands that you can define for your own use. These
commands can be used to view any text file, and can be
thought of as additional 'Library' type functions.
These commands can only be invoked from the main command
prompt. As an example, let's assume that you want to add a
command to view a text file that contains information about
your local computer club. The first thing you must do is to
figure out what letter you want to use for the command. It
must be a character that is not currently used from the main
command menu. In this example, we will use the letter 'Z'.
First, you would edit your SYSDATA.DAT file with the
SYSEDIT command. You would change the 'Sysop Defined
Commands' field to include a 'Z'. Next, exit out of the
SYSEDIT program and re-save the file.
At this point, you would now need to load the PROMPT.DAT
file into a word processor. If you look through the
PROMPT.DAT file, you will see eight definitions for the
sysop-defined command prompts. Since this is the first sysop
command added, you would change the prompt that corresponds
to the first command to say something like "Computer News@".
This is the string that will get displayed when the user
presses the 'Z' key.
The prompts correspond directly to the order of the
commands specified in your SYSDATA.DAT file. In other words,
if you had four sysop commands defined, let's say 'ZEX#',
then the first prompt in the PROMPT.DAT (number 143) would go
with the 'Z' key, the second (number 144) would correspond to
the 'E' key, and so on.
At this point, there are only two other things that you
must do. One is to recompile your PROMPT.DAT file using the
COMPILER.BAS program. Then you must create a text file
called YOURZ.HLP. This is the file that the BBS will read
whenever the user hits the 'Z' key. The format of this
filename is always YOURx.HLP, where x = the sysop defined
command. This file MUST be in the same location as your
other .HLP files. These files may also be turned into
selection menus by placing the word MENU in the first line of
the file and formatting the file the same as if it were a
library text file.
[16]
BBS Express!
Variable Tags and The Help Files
We are now ready to cover the help files, which are
signified on the back side of your Express! disk by the
extender .HLP. These files contain text files ranging from
system menus to user status files to logoff messages.
The help files that are on your Express! disk are generic
in nature but could very well be used now if you are in a
hurry to get your system up and running. If this is the
case, then copy all of the .HLP files to your correct data
disk (the one you specified in the SYSDATA.DAT file above),
and skip on to the next section.
Still with me, huh? OK, then let's cover a very
interesting feature of the help files before we get started.
This is the 'variable tag' information. If you will read the
file LOGSTAT.HLP into your text editor now, you will see what
the variable tags look like.
What? What are all of those strange '&' symbols? Well,
those are the 'tags' that you have available to you for use
in all of the .HLP files. What a tag does is signify to
Express! that it should display a PROGRAM VARIABLE at that
point in the text file. These tags are made up of two pieces
of information. First, there is the '&' sign, which signals
Express! to prepare to display special information. Second
is the tag-number, which MUST be two characters in length,
and is a number between 1 and 36. There are 36 separate
variables that Express! can display. Tag 36 is the BAUD RATE
tag and is only valid for the 850 version of BBS Express!.
Here are their numbers and corresponding information:
&01 - The user's NAME (only after completely logged on).
&02 - The user's PASSWORD.
&03 - The user's CITY.
&04 - The user's STATE.
&05 - The user's PHONE NUMBER.
&06 - The user's LAST CALL DATE.
&07 - The user's SECURITY LEVEL.
&08 - The user's CONNECT TIME (for today).
&09 - The user's TIME LIMIT per day.
&10 - The user's HI MESSAGE COUNTER.
&11 - The user's UPLOAD count.
&12 - The user's DOWNLOAD count.
&13 - The user's PARAMETERS (you shouldn't use this).
&14 - The user's TOTAL CALLS to this BBS.
&15 - The TEMPORARY user NAME (see below).
&16 - The TEMPORARY user CITY.
&17 - The TEMPORARY user STATE.
&18 - The TEMPORARY user PHONE NUMBER.
&19 - The CURRENT DATE in the form Sat 29-Mar-86.
[17]
BBS Express!
&20 - The LAST CALLER's name.
&21 - The CURRENT TIME.
&22 - The SYSTEM HI MESSAGE COUNTER.
&23 - The CURRENT MESSAGE BASE user is on (in form 1-25).
&24 - The TOTAL CALLS your BBS system has received.
&25 - The MINUTES CONNECTED for current caller.
&26 - The NAME of the current message base user is on.
&27 - The TITLE of the last read message.
&28 - The AUTHOR of the last read message.
&29 - The DATE stamp of the last read message.
&30 - The TIME stamp of the last read message.
&31 - The NUMBER OF MESSAGES on the current base.
&32 - < for system use >
&33 - The CURRENT DATE in the form 03/29/86.
&34 - The 'TO:' name in each message header.
&35 - The # OF CALLS received since 12:00 am.
&36 - The BAUD RATE of the current caller.
You should note that the above TEMPORARY tags (15-18) are
only valid BEFORE the user gets completely logged on. About
the only use for these fields would be in the NEWUSER.HLP
file, so that you could customize your message to NEW users.
In addition, these tags can be present in any of your menus
and help files. If you should ever need to have an actual
'&' in one of your text files, then put in TWO '&' signs (ie:
'this && that' would display as 'this & that' to the user).
[18]
BBS Express!
The Individual Help Files
We are now ready to move on to the individual help files.
There is not much to be discussed here, since the files are
fairly self-explanatory. About the only useful information
to pass along to you is WHERE and WHEN the different files
are displayed. Here is the list of each file along with a
brief description of what it is:
SYSOP.HLP
This is the file that is displayed to your screen while the
BBS is inactive (waiting for a call). Put your own nice
little logo here. In addition you may want to include the 4
logon modes available to you by hitting the 1,2,3 or 4 key.
See the section on Sysop Logon Modes for more information on
these logon modes.
SYSOPCMD.HLP
This file is the Sysop menu that is displayed when you
press '?' from the 'Sysop Command' prompt.
SYSINFO.HLP
This file is displayed when the user selects the 'Info on
System' option from the main command prompt. Use this file
to tell the user what type of hardware your system is running
on, along with any pertinent information (why not tell them
the software, too -- we could sure use the advertising!!).
You can structure this file as a selection file and have 2
options, one for hardware information and one for software
information.
CONNECT.HLP
This file is displayed when a connection is made, BEFORE
the user gets the 'Go Atascii, Hit Return' message.
WELCOME0.HLP/WELCOME1.HLP
This file is the first one displayed once the user has
logged on. Use this for your signon screen. This file can
also be re-displayed if the user selects the 'title page'
command from the main prompt. The WELCOME0.HLP file is
displayed if the user is in ATASCII mode, and the
WELCOME1.HLP is displayed if the user is in ASCII mode. This
allows you to have a fancy cursor-art type screen for your
Atari callers only.
SYSNEWS.HLP
[19]
BBS Express!
This is the file you should use for your 'system news'
bulletins. This file is displayed during a user's logon, or
will be shown if the user selects the 'system news' option
from the main command prompt.
LOGSTAT.HLP
This file is the third shown after a user has logged on.
Use this file to welcome the caller to your board, as well as
to tell them things like who the last caller was.
MAIN.HLP
This is the 'Main Menu' file, and will be displayed when
the user presses '?' at the main Command: prompt.
MAINM.HLP
This file is a 'mini-menu' that is displayed when the user
presses the '/' key from the main command prompt.
BOARD.HLP
This is the 'Board Menu' file, and will be displayed when
the user presses '?' key from the message base prompt.
BOARDM.HLP
This file is the 'mini-menu' that is displayed when the user
presses the '/' key from the message base prompt.
EDITOR.HLP
This is the message editor help file, and will be shown
when the user presses '/?' from within the message editor.
NEWUSER.HLP
This is the text file that will be displayed to the user
when he/she logs on as a 'NEW' user. Use this area to
welcome the new caller to the board and to pass along any
important information about your requirements for getting
their password validated. If you want to get the user's real
name, address, etc., then you should include a line or two
telling them to leave 'F'eedback to you with that
information, since Express DOES NOT make new users leave this
type of information.
USTATS.HLP
This is the file displayed when the user selects the 'Your
Stats' option from the main menu.
[20]
BBS Express!
BLIST.HLP
This file is the message base list, and is displayed when
the user selects the '*' command from either the Command
prompt or the message base prompt. Use this file to show
what message bases you have available, including their number
and name.
BBSLIST.HLP
This file is the 'other BBS numbers' list, and is displayed
when the user selects this option from the main Command:
prompt. Place names and numbers of other known operating BBS
systems in this text file.
LOGOFF.HLP
This is the file that will be displayed to the user when
he/she logs off of the system.
LIBRARY.HLP
This file is displayed when the user selects the 'L'ibrary
function from the main menu. But, this file does more than
just being displayed to the user -- it also tells Express
what files go with what selections from the library. Not
only that, but you can do 'selection' menus on ANY of your
text files. When BBS Express! displays a text file, it will
look for the word 'MENU' in the FIRST line of the file. If
the word MENU is there, then Express! expects a 'selection'
text file to follow, with the following components:
MENU
4
D2:CARTOON.MNU
D2:TUTORS.TXT
D3:ORDERING.TXT
D4:CLUBNEWS.MNU
Main Library Menu
[1] Cartoon Collection
[2] BBS Tutorial Files
[3] Ordering Information
[4] Computer Club News
Immediately following the word MENU is the number of
selections allowable on this menu. Following the number are
the files to be displayed depending on the selection that the
user enters. Starting with the next line after the last file
name is the text that you want to be displayed to the user.
You can chain MENU files as deep as you want, limited only
by the disk space that you have available! In other words,
[21]
BBS Express!
selecting number 1 above will display the file
D2:CARTOON.MNU, which could be another MENU file for the user
to select which cartoon file they wish to view, as seen
below:
MENU
7
D2:CARTOON1.TXT
D2:CARTOON2.TXT
D2:CARTOON3.TXT
D2:CARTOON4.TXT
D2:CARTOON5.TXT
D2:CARTOON.MNU
D2:LIBRARY.HLP
Cartoon Library
[1] Cartoon Number One
[2] Cartoon Number Two
[3] Cartoon Number Three
[4] Cartoon Number Four
[5] Cartoon Number Five
[6] Redisplay this menu
[7] Return To Main Library Menu
As you can see from this file, you can even select the same
file that you are currently viewing, or allow the user to go
backwards in the sub-menu chain by specifying the previous
menu's file name. The MENU files are not limited to the
LIBRARY.HLP file only. You can use this same technique for
ANY text file that the BBS displays, such as SYSINFO.HLP,
BBSLIST.HLP, etc. Use your imagination!
NOTE: There is a limit of 45 entries per menu in each
selection menu.
DLHEADER.HLP
This is the text file that is displayed at the top of each
'Browse download files' screen.
[22]
BBS Express!
Download Filename Format
Before we go further, we must now discuss the naming
conventions of DOWNLOAD files that will be on your BBS
system.
The EXTENDER field is the most important on download files.
This extender does 3 things:
[1] It determines the FORMAT of the file.
[2] It determines the TYPE of the file.
[3] It determines the SECURITY LEVEL of the file.
By FORMAT, we mean as in Object File, Action! source code,
Saved BASIC, Listed BASIC, etc.
By TYPE, we mean Game, Utility, Home Application, Demo,
etc.
For example, let's take a file named LOANS.BAS which is a
home application-type program to calculate mortgage payments.
Then, let's assume that you have defined the letter 'B' to
mean BASIC (this will be covered below - be patient) and the
letter 'H' to mean Home Ap. Also, we want this file to be
available to everyone, so we will copy the file to one of our
'download' drives (remember? you specified those in the
SYSDATA.DAT file), and rename it to:
LOANS.BH0
Now, when Express! displays this file on the 'B'rowse files
command, here is what the user will see:
LOANS | 012 | BASIC | Home Ap
Simple, huh? The third position of the extender is the
SECURITY LEVEL of that file. If, for example, you have a
file with an extender of .BA3, then this file would ONLY be
displayed on the browse files command if the user had a level
where Bit 3 was turned on.
Now that we know a little about the extenders of download
files, let's carry on with our .HLP files.
DLFORMH.HLP
This file contains the table lookups for the FORMAT of each
file when the user is doing a Browse Files command. This
provides you great flexibility in being able to set up your
own customized format descriptions. Here is an example
DLFORMH.HLP file:
[23]
BBS Express!
OObject
AAction!
BS. BASIC
LL. BASIC
MA.M.S.
XOther
When a user does a 'B'rowse files command, Express! will
automatically load the file DLFORMH.HLP into memory. Then
when displaying a file, Express will examine the FIRST byte
of the extender and will then search down in memory looking
for a match on this character. If a match is found, then
Express will display the corresponding literal from the above
table.
NOTE: The literals in the table entries may be from 1-8
characters long. There is a logical limit of 100 entries in
the table, but a physical limitation of the possible
characters that can be used in a filename. But, rarely
should you ever need more than the letters A-Z.
DLTYPEH.HLP
This file is identical in function to the above DLFORMH.HLP
file, except it contains the table lookups for the TYPE of
file, determined by the SECOND byte of the file extender.
Here is an example DLTYPEH.HLP file:
GGame
MMusic
HHome Ap
BBusiness
UUtility
DDemo
XOther
Once again, the literals in the table may be from 1-8
characters long.
DLFORMS.HLP
This file works hand-in-hand with the DLFORMH.HLP file.
This is the SELECTION file that will be presented to the user
when he/she uploads a new file (after all, let your users set
the format of the file for you, right?). Here is an example
of a DLFORMS.HLP file, corresponding with the above
DLFORMH.HLP file:
OABLMX
Please Choose A Format:
[O] Object File
[A] Action Source Code
[24]
BBS Express!
[B] Saved BASIC
[L] Listed BASIC
[M] AMS Music File
[X] Other
The most important line here is the FIRST line (and, it
MUST be the first physical line in the file!). This is the
selection line, and tells Express! what the valid keypresses
to accept are. In the above case, Express! will prompt the
user for 'Selection:', and will NOT accept input unless it is
either an O,A,B,L,M, or X.
Express! will then use this character as the FORMAT byte in
the new file's extender field.
DLTYPES.HLP
Have you guessed what this one is yet? You're right! This
is the same as the above DLFORMS.HLP, but corresponds to the
TYPE of the file. Here is another example, this time
corresponding to the above DLTYPEH.HLP file:
GMHBUDX
Please Choose A Type:
[G] Game
[M] Music Demo
[H] Home Application
[B] Business Program
[U] Utility
[D] Demonstration
[X] Other
Here again, Express! will display the text from the second
line down, display a 'Selection:' prompt, and then wait for
input. In this example, only the keypresses G,M,H,B,U,D, or
X would be accepted.
Express! will then use this character as the TYPE byte in the
new filename.
This file is also used to get the user's 'Browse Files'
specification if he/she hits '?' at the browse prompt.
[25]
BBS Express!
The Prompt Dataset
You will find a dataset on your Express! diskette named
PROMPT.DAT. This file contains all of the 'prompt
definitions' used by BBS Express!. You can change these
prompts any way that you like (please make your changes to a
backup of the file!).
After changing the prompt dataset, you should run the BASIC
program called COMPILER.BAS. This program reads the text
dataset with your prompt definitions and creates a binary
file that BBS Express! can understand. Once the compile
completes with no errors, you will be asked for the name of
the output dataset. You should name the output file
PROMPT.OBJ, and write it to the disk that you use to boot BBS
Express!. Once Express! boots up, it will load in the
PROMPT.OBJ file immediately, without asking you to insert any
disks.
The PROMPT.DAT file is heavily commented, so there is no
reason to talk about the individual prompts here. Just print
the file off and read through it at your leisure. An
original PROMPT.OBJ file is on your Express! disk so you can
get your board up and running without having to compile the
prompt dataset.
[26]
BBS Express!
[27]
Going Online!
At this point, we are ready to test out your new BBS
System! But, before we do, let's go over everything that you
should have done by now:
1. Formatted a disk for each disk drive to be used on your
BBS.
2. Created the USERLOG file.
3. Edited the SYSDATA.DAT file to match your system
configuration, and then copied this file to Data Disk #1.
4. Created your message bases on the Data Disks that you
specified in the SYSDATA.DAT file.
5. Edited (if necessary) and copied all of the .HLP files to
the Data Disk that you specified for the help files in the
SYSDATA.DAT file.
6. Copied all of your download files to the correct Data
Disks specified in SYSDATA.DAT. You should have also renamed
these files to the format discussed earlier.
If you have done all of these things, then let's try it
out! Place your Express! disk into drive #1 and do a binary
load of the file BBS.COM. After the program loads in, the
PROMPT.OBJ file will be read into memory and you will be
prompted with
'Insert Data Disks'
Place all of your Data Disks into their correct drives, and
then press the RETURN key. Express! will then load in some
data from the drives, and will then display the SYSOP.HLP
file. If you are using the R-time 8 cartridge with the 850
version of the BBS, it is not necessary to logon at this
point to set the date and time as Express! has automatically
set them with the cartridge. If you are not using the
cartridge or are running the 1030/XM301 version, then you
must logon to set the date and time correctly. To set the
date and time, use the fast logon option (Option #1) and go
into Sysop mode to perform this task. Once set, your BBS
system is ready to accept callers.
The first caller should be you, the sysop, since USER
NUMBER ONE IS ALWAYS CONSIDERED TO BE THE SYSTEM OPERATOR.
So, what you should do now is log on, just as any normal
caller would, to be assigned your password. You can hit '2'
or '3' to logon this first time, whichever you prefer. At
the NAME prompt, enter in the name by which you want to be
known on the system. For your password enter the word NEW.
Express! will assign you the first password (you can change
it later from the user editor if you like), and you are now
in business!. Now, from the 'Command:' prompt, go into sysop
mode and set your security level to '255' and your daily time
limit to '255'. After the initial logon to get your password
assigned, you may use the Option #1 (Sysop Fast Logon) to
logon in the future. This logon method bypasses the logon
messages and takes you directly to the checking for mail
prompt.
You should try out ALL of the options on the board to make
sure that everything is set up properly. If Express! ever
encounters an error, such as not being able to find a file it
expects to exist, it will log a message to the printer. If
this ever happens, then you have probably told Express! a
wrong drive assignment in the SYSDATA.DAT file.
If everything checks out OK, then you can use the 'G'
command to log off. You are now ready to accept callers. If
you are using a 1030/835 modem with a ring detector, then the
detector MUST be plugged into the SECOND joystick port.
XM301 owners will have no more to do, since your modem has an
auto-answer feature built in. 850 owners should make sure
that the dip switch settings on your modem are set as
follows:
Hayes and Smarteam Modems
Switch 1 - UP
Switch 2 - UP
Switch 3 - DN
Switch 4 - UP
Switch 5 - DN
Switch 6 - UP
Switch 7 - UP
Switch 8 - DN
Avatex Modem
All dip switches should be in the up position.
If you have a modem other than those mentioned above, you
should refer to your modem manual and set your dip switches
to the following specifications:
* The modem SHOULD NOT auto-answer the phone.
* Allow the computer to monitor the CARRIER DETECT RS-232-C
signal to detect a remote modem's carrier signal.
* Allow the computer to supply the DATA TERMINAL READY
(DTR) RS-232-C signal to the modem. This is used by Express!
to hang up the phone.
* Allow the modem to recognize its own commands.
Sysop LOGON Modes
There are 4 logon modes that you can use while the BBS is
waiting for a call. These are explained below:
1. The 'Quick Entry'
If you press a '1', the BBS program will read the first
record in the USERLOG file (which should be your sysop
record), and go immediately to the 'Checking For Mail...'
prompt. If you log on in this way, the total number of calls
will NOT be updated, and the last caller will remain the
same. This is really the ideal way to log on.
2. Logon at 300 Baud
This mode logs you on in simulated 300 baud. You will have
to enter your name and password. This logon mode does update
the last caller and the total calls.
3. Logon Remote
This mode logs you on in remote mode. You will have to
enter your name and password in this mode. This logon mode
does update the last caller and the total calls.
4. Logon As A User
This mode allows you to log on as any of your users, as
long as you know their FULL name. After pressing '4', you
will be prompted for the user's name. Just key in the full
name of the user, and the BBS will try to find the user's
record. If it does, it will log you on as that person. If
you can't seem to remember the user's name after 3 or 4
tries, just press the START, SELECT, and OPTION keys to 'hang
up' on yourself. You can use this log on mode to validate
users without having to take the BBS down! You do this by
simply logging on as the user and then pressing the '$' key
to enter the SYSOP command mode. You can then use the 'L'
and 'M' commands to set the user's security level and daily
time limit. This logon mode does NOT update the last caller
or total calls.
The Screen Display
Now that you are ready to accept callers, we should cover
the information that you will see displayed at the top of
your screen.
First, you will notice that there are 4 status lines at the
top of your screen. The first line will always contain the
system date and time.
The second line will display the current caller's (or, the
last caller's, if nobody is currently logged on) name,
password, and last call date.
The third line will show the caller's city, state, and
current connect time for this call. There is also an area on
this line, indicated by '[---]' which will display '[CHAT]'
if this user paged you and you didn't answer.
The fourth line shows the user's security level, time limit
(per day), and the file currently being accessed (or last
accessed).
The Sysop Commands
The first sysop command we should talk about is entering
and leaving CHAT mode. At any time when the program is
waiting on input from the user, you can press the ESCape key
to enter chat mode. To exit chat mode, simply hit the ESCape
key again.
There are certain functions that you, as sysop, can execute
while a caller is on-line. To enter the SYSOP command mode,
you must enter a '$' command from the main 'Command:' prompt
(ONLY!). There are two modes of entry that the program
checks for.
The first one is if the '$' came from the BBS keyboard.
Anything that you do here WILL NOT be seen by the user who is
logged on as nothing is echoed across the modem in this mode.
The user will be in a 'do nothing' state, since they will not
be able to enter any keypresses.
The second way of entry is if the '$' came from the modem
(the caller that is online). If this is the case, and the
caller has a security level of 255, then the program will
enter the sysop mode and will echo everything across the
modem. In other words, you can call your board from a remote
location and do EVERYTHING that you can do when you are
sitting at the BBS's keyboard.
Once you have hit "$" to get to the sysop command prompt,
or a sysop level user has hit the '$' remotely, the following
commands are available:
[L] Use the L command to edit the current caller's Security
Level. This change WILL be stored in the user's record when
he/she logs off of the system.
[M] Use the M command to edit the current caller's time
limit per day. This change will also be written to the
user's record at log off time.
[F] Use the F command to execute any XIO command to the disk
drive. When you hit F, the program will respond with:
XIO #
Key in one of the following numbers:
32 - Rename a file
33 - Delete a file
35 - Lock a file
36 - Unlock a file
254 - Format a disk (be careful!)
After you have keyed in an XIO number, the program will
respond with
File:
and you should key in the name of the file to be operated
on, INCLUDING THE DRIVE IDENTIFIER (D#:).
So, let's say that you want to rename a file on drive two
from ZTITLER.OG0 to ZTITLER.OG1 (to raise its security
level). You would do the following:
Sysop: F
XIO #32
File:D2:ZTITLER.OG0,ZTITLER.OG1
You will use this command a lot to rename newly uploaded
files to a lower level so that they may be seen by other
users (newly uploaded files will have a security level which
you specified in the SYSDATA file).
[C] Use the C command to toggle CHAT mode on and off. If
chat mode is turned off, then any user that pages you will
get the message 'The sysop is not around...'. If chat is
turned OFF, then this will be shown in the status lines at
the top of your screen by '[OFF]'.
[D] Use the D command to display a disk directory. This
command will display a LONG directory if you are using
SpartaDos. You MUST enter the '*.*' in the filespec. In
other words, when the BBS prompts you for the 'Mask =>',
keying in 'D2:' will NOT work. You must enter 'D2:*.*'.
[E] Use the E command to display a disk directory. This
command will display a SHORT DOS 2.0 type directory if you
are using SpartaDos. If you are not using SpartaDos, then
the 'E' and the 'D' commands function identically.
[P] Use the P command to toggles the realtime clock between
AM and PM.
[R] Use the R command to set the current system date.
[T] Use the T command to set the system time. You will be
prompted to enter the hour and minutes individually. The
hour is set in actual time, not military time.
[W] Use the W command to set the current weekday. Repeat
the W command until the current day of the week on the first
status line is correctly set.
[V] Use the V command to view any text file. You will be
prompted for a filename. Enter the fully qualified filename
including the drive specifier.
[>] Use the > command to copy files. You will be prompted
for both the fully qualified source and destination
filenames.
[?] Use the ? command to display the SYSOPCMD.HLP file which
is the Sysop command menu.
[X] Use the X command to Exit the sysop command mode.
An additional command at your disposal is the pressing of
the START/SELECT/OPTION console keys. When these keys are
pressed while a user is logged on, they will immediately be
logged off. When you press START/SELECT/OPTION, you are
actually 'faking' the program into thinking that the carrier
has been dropped.
Also, when a you or a Sysop level user (255) is in a message
base reading messages and are waiting at the [A] Again [R]
Reply [Q] Quit [C] Cont. prompt, you may press the 'P' and
the message will print on the printer. This print feature is
also available while in E-mail.
The User Editor
Well, by now you should have your board up and fully
functional! The next thing we should discuss is the user
editor, which allows you to change any data for any user on
your BBS system. For security purposes, this editor is
totally an off-line procedure.
The user editor is on the front side of your Express!
diskette, and is called UEDITOR.COM. This is a binary load
file, and should be loaded either with the 'L' command from
DOS 2.0, or by simply typing in UEDITOR from SpartaDOS.
After loading in the program, the editor will instruct you
to enter the fully qualified filename of the Userlog Data
File. Place the disk with the USERLOG into drive one, enter
the fully qualified filename, then press RETURN. Next, you
will be asked to enter the name of the Userlog Index or press
return if the index is the same name with the exception of
the extender. After you do this, the menu will appear. At
the top of the screen you will see the number of users that
are currently being used.
There are 7 options available in the User Editor. They
are:
1. Edit a User
2. Edit by Sec. Level
3. Add a New User
4. Delete a User
5. Mass Sec. Level Change
6. Print User List
7. Exit
To edit a user (or look at a single user's data), hit '1'.
The editor will prompt you for the user's number or name.
From here, you have two options. The quickest way to edit a
user is by entering the user's number if you know it. This
is the number starting in the second position of the
password. For example, if the password is 'A18XYZ', then the
user number is 18.
If you don't know the user's password, then you can enter
the name of the user (the ENTIRE name), and the editor will
search each user entry trying to match on that name. This is
quite a bit slower, but will come in very handy.
If you don't know the user's exact name or password, then
use the 'Print Userlog' 40-Column option to display the
userlog information to the SCREEN.
At this point, you will see the user's data listed on the
screen, along with a letter beside each piece of data. To
change anything on the screen, simply press the corresponding
letter, then key in the new information.
You may change the password, too, but DO NOT CHANGE THE
NUMBER IN THE PASSWORD! In other words, if a password is
A20XYZ, you can change it to anything as long as the '20'
remains in the EXACT same position.
To return to the menu at any time, hit the ESCape key, and
the editor will respond with 'Rewrite this record?'. If you
made changes that you want to make permanent on the USERLOG,
then answer 'Y'. If you answer 'N', then no updates will
take place.
To edit users by security level, hit '2'. You will be
prompted with 'Edit On Sec Lvl Of =>'. Enter the security
level that you want to edit and press RETURN. You will then
be prompted with 'Start At Current Position or Beginning Of
File =>'. Enter an 'S' or 'B' and press RETURN. The editor
will start 'Searching' for the next user with the level you
specified and display the record on the screen. You may not
change any information in the users record or leave it as is.
When you are finished editting, press the ESCAPE key. If you
changed the record, you will be prompted with 'Rewrite This
Record?', to which you can respond 'Y'es or 'N'o. Next, you
will be prompted with 'Continue Search or Quit Search =>'.
If you press 'C' to continue, the editor will continue the
search from the current position in the file until it finds
the next user with the specified security level. If you
respond with 'Q', you will be returned to the Editor Menu.
You may continue searching to the end of the userlog or quit
at any time.
To do mass security level changes, hit '5'. This is an
ideal way to periodically change all level 0 users to a
higher level. You will be prompted with 'Change All Users
With A Security Level Of =>'. Enter the security level that
you want to change. Next, you will be prompted with 'To Sec.
Level =>'. Enter the security level that you want to the
users changed to. The editor will start reading the userlog
intil it finds the first user with the level that you
specified you wanted to edit. The user record will be
displayed on the screen and you will be prompted with 'Change
User From SL X to Y?' where X is the current level and Y is
the new level. If you want this user's security level
changed to the new level, respond with 'Y'es. If not,
Respond with 'N'o. The editor will make the change to the
record and proceed to the next user record it finds with the
specified level. When you use this option in the editor, you
may not use the ESCAPE key to abort out in the middle of the
file. It must be read until the end of file occurs.
The other options of the user editor work similarly to the
above functions (or are very self-explanatory).
Extending The Userlog
Note: To use this procedure, you MUST have at least two disk
drives!
No matter how well you plan ahead, there is probably going
to come a time when you begin to see your USERLOG data file
slowly fill up. There is a program on the front of your
Express! diskette called UEXTEND.COM, which will extend the
space allocated for your userlog dataset.
There is a possibility that the use of this command could
cause considerable damage to your data disk, SO BACK UP YOUR
DATA DISK BEFORE YOU USE THIS COMMAND!
Why could it cause damage? Well, because of the way
Express! pre-allocates files, there is a good chance that you
have nearly filled up your main data disks (the ones with the
userlog and message bases). And, if we are going to extend
the userlog file, then we have to have some space, right?
The damage could occur if you accidentally 'over-allocate'
and actually fill up the disk (I'm sure we all have went
through the headaches of filling up a DOS 2.0 disk, and then
finding that the free sector counts don't quite add up
anymore).
What can you do if you DON'T have any more free space on
your userlog data disk? One option you have is to DELETE a
seldom-used message base, giving you more room for userlog
data. Another option is to rebuild a message at a smaller
size using the LOADBASE.COM utility (See additional utility
section). A third option is to simply move a message base to
another drive. If you are using SpartaDos, moving it is all
that is required. If you are using a 2.0 type DOS, then you
must re-index the message base with REINDEX.COM after you
have moved it.
With those words of warning aside, let's discuss the use of
the UEXTEND.COM program. The first, and most important, step
is to try to get an idea of how many additional user records
you have room for on your disk. Each user record is 81 bytes
in length, so with a little math you can figure out the
approximate number you can extend to.
As an example, let us assume that you have 18 sectors left
on your data disk one, which is a DOUBLE density diskette.
By doing the following:
18 - 2 = 16 sectors
16 * 253 = 4048 bytes
4048 / 81 = 49.97 user records
you will see that you have room for approximately 49 more
user records. To be safe (we DON'T want to accidentally fill
up the disk, remember?), extend your user log by only 45.
The reason that you should subtract 2 from the free sectors
is for system overhead that takes place when a file is opened
in 'append' mode.
If your data disk is SINGLE density, then you can use the
same equations above, but substitute 125 for the 253 (ie: 16
* 125 = 2000 bytes).
Now that you have decided on how many users you can have,
here is what you must do to extend the size of the user log:
1. Make a BACKUP of your Data Disk 1 (PLEASE!).
2. Copy the current USERLOG.DAT off to another disk. This
file will be used to do the re-build from.
3. Run MAKEULOG.COM to delete the current USERLOG and create
a NEW one with the new maximum number of users. Do this to
your Data Disk 1 (this is why a backup is so important!).
4. Run UEXTEND.COM and follow the prompts. You will have to
place the new USERLOG disk (Data Disk 1) into drive 1, and
the old USERLOG.DAT (the file that you created in step 2)
into drive 2.
5. Once the menu appears, select option 1 and the current
users will be re-created into the new larger userlog you just
created.
After doing this, you should boot up the EDITOR.COM program
and do a "spot check" of different users, just to make sure
that everything looks OK. The easiest way to do this is to
look at every 25th user's data by simply editing user number
1, then 25, 50, 75, etc.
Additional Utility Programs
LOADBASE.COM
The LOADBASE program will take a message base as input and
write the messages from it to another separate output message
base. This allows you to change the size of your message
base without losing any messages. All you have to do is to
run MAKEMSGB.COM to create a new message base with the size
configuration that you want. Then, load and run LOADBASE.COM
and enter the OLD message base name as the 'FROM' dataset,
and the NEW message base you just created as the 'TO' message
base.
This utility checks for all kinds of size differences and
will adjust the new message sizes accordingly. For example,
if you have an old message base specified with a max message
length of 1400 and try to load it into a new message base
with a max message length of 1000, LOADBASE will truncate any
messages over 1000 bytes in length.
REINDEX.COM
This utility will take an existing message base as input
and rebuild the index. If you are using a DOS other than
SpartaDOS, you can use this utility if you ever need to MOVE
a message base from one disk drive to another (ie: change
message base #1 from residing on drive one to drive two).
To move a message base to another drive, do a DOS COPY
command to copy the message base to the new data disk. Then,
run REINDEX.COM to re-build the index.
If you are using SpartaDOS, then YOU CAN FREELY MOVE YOUR
MESSAGE BASES AROUND WITHOUT HAVING TO RE-INDEX THEM. Not
only that, but with SpartaDOS, you can back up your message
bases while the board is running by using the COPY command
from the sysop command prompt!
EDITBASE.BAS
This utility allows you to change the name, and/or security
level of any existing message base including the E-mail base.
To use this utility, you must have basic enabled. Load and
run the program which will prompt you for the filename of the
message base to be edited. Follow the program prompts to
perform the necessary changes to the message base.
Sample Board Configuration
On the back side of the BBS Express! disk is a completely
configured and ready to boot BBS. This is intended to give
you a feel for how the board runs and to use as a guide to
configuring your own board.
To use this sample configuration, insert the front side of
your BBS Express! backup disk into drive #1 and turn the
computer on. Make sure you have the modem and interface (if
used) turned on. When the DOS finishes loading, load and run
the program BBS.COM. (Note: This sample board has been
configured using Atari DOS 2.0. Be sure to use a DOS that is
Atari DOS 2.0 compatible. SpartaDOS should NOT be used to
run this sample configuration.) When Express! prompts you to
'Insert Data Disks', turn the back-up disk over and insert it
back into drive #1, then press RETURN. While this
configuration only uses drive #1 and has a small userlog, one
message base and E-mail, it is a full working version of the
board.
Logon to this sample configuration using option #2 or #3.
The userlog has been configured with 'SYSOP' as the first
user and a password of 'A1BBS'. Once logged on, go into
Sysop Mode by pressing '$' at the COMMAND prompt. Now press
the '?'. You should now be able to see the Sysop Command
Menu. Set the correct date and time using the 'R' and 'T'
commands. Set the correct day of the week using the 'W'
command. Next, set the AM/PM indicator using the 'P'
command. Now press the 'X' key. This will take you out of
Sysop Mode and back to the Command prompt.
Take a moment to explore the board and get a good handle on
how it operates. This should help you when you get ready to
configure your own version of BBS Express!. As you move
around the various parts of the board, notice the right hand
side of the bottom status line. This field is the filename
that is being accessed or the last filename that was accessed
by Express! If you experience an ERROR 170 while running BBS
Express!, this status line will help you identify the
filename that BBS Express! could not find. Express! will log
the error to the printer if one occurs and keep right on
running. To correct this problem should it occur, simply
copy the missing file to the proper working disk and try the
failing option again.
Finished!
By now you should have a good handle on the operation of
your new BBS. Rather than cover all of the different
commands on the BBS here, we have included text files for
your library so that both you and your users can become
familiar with BBS Express!. These datasets can be found on
the back side of your Express! diskette, and are already set
up to be accessed by the 'L'ibrary command.
We hope you enjoy running BBS Express!, and if you are
satisfied with the quality of the board, please let other
potential sysops know about it. If you are not satisfied
with the system, then let US know immediately! Orion Micro
Systems would like to hear your comments and suggestions on
this software. If you want to drop us a line, use the
address on the cover page of this manual or give us a call on
the support board line. Enjoy!