BBS Express 850 1.0 Documentation - FujiNetWIFI/fujinet-firmware GitHub Wiki







                                  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!








































⚠️ **GitHub.com Fallback** ⚠️