 
                     *******************************************
                     *                                         *
                     *   |\ /|   /\   \ / ' __    __  __  __   *
                     *   | V |  /__\   X   (_    |__)|__)(_    *
                     *   |   | /    \ / \  __)   |__)|__)__)   *
                     *                                         *
                     *         Version 1.00  14-Jul-91         *
                     *                                         *
                     *        Created by Anthony Barrett       *
                     *                                         *
                     *******************************************



                         Copyright © 1992 by Anthony Barrett



                                      CONTENTS
                                      --------


       1.  INTRODUCTION..................................................   1


       2.  INSTALLATION..................................................   3

           Hard drive installation.......................................   3
           Starting the BBS..............................................   4


       3.  CONFIGURING THE BBS...........................................   5

           System configure..............................................   5
           Modem configure...............................................  10
           Menu editor...................................................  12
           Sections configure............................................  14
           User defaults.................................................  16
           Text editor...................................................  17
           Macros........................................................  19
           FidoNet configure.............................................  19
           FidoNet mail distribution.....................................  23
           

       4.  PULL DOWN MENU FUNCTIONS......................................  25

           Local login...................................................  25
           Chat on/off...................................................  25
           Chat interrupt................................................  26
           Countdown.....................................................  26
           Printer/Output................................................  26
           Text import...................................................  26
           TWIT..........................................................  27
           Caller log....................................................  27
           About. . .....................................................  28
           Iconify.......................................................  28
           Quit..........................................................  29
           Add 15 mins...................................................  29
           Online edit...................................................  29
           User editor...................................................  29
           Files editor..................................................  35
           Check files...................................................  38
           Optimize messages.............................................  38
           PURGE MESSAGES................................................  39
           Force FidoNet.................................................  39
           Force execute.................................................  39
           Force msg import..............................................  39









       5.  BBS MENU FUNCTIONS............................................  41

           Function 1 - Log out..........................................  41
           Function 2 - Goto menu........................................  42
           Function 3 - Chat call........................................  42
           Function 4 - Set ANSI flag....................................  42
           Function 5 - Set CLS flag.....................................  42
           Function 6 - Set pause flag...................................  43
           Function 7 - Set FSE flag.....................................  43
           Function 8 - Change # of lines per screen.....................  43
           Function 9 - Change suburb....................................  43
           Function 10 - Change phone number.............................  43
           Function 11 - Change computer description.....................  43
           Function 12 - Change password.................................  43
           Funciion 13 - Type a file.....................................  44
           Function 14 - Type a file without pause.......................  44
           Function 15 - Print text......................................  44
           Function 16 - Leave a message.................................  44
           Fucntion 17 - Read messages...................................  45
           Function 18 - List/Search user file...........................  47
           Function 19 - Print caller log................................  47
           Function 20 - List files......................................  47
           Function 21 - Delete a file...................................  47
           Function 22 - Read a file.....................................  48
           Function 23 - Upload files....................................  48
           Function 24 - Download files..................................  49
           Function 25 - Make "New" file public..........................  50
           Function 26 - Edit a user.....................................  50
           Function 27 - Execute external program........................  50
           Function 28 - CLI.............................................  51
           Function 29 - Deposit to the time bank........................  51
           Function 30 - Withdraw from the time bank.....................  51
           Function 31 - Deposit all time remaining and log out..........  52
           Function 32 - Send a private echo message.....................  52
           Function 33 - Set default file transfer protocol..............  52
           File transfer.................................................  52


       6.  CUSTOMIZING THE BBS...........................................  55

           ANSI codes....................................................  56
           Auto insert...................................................  58
           Hiding parts of text..........................................  59




     Chapter 1                    M A X's BBS                       Page: 1

                                  INTRODUCTION
                                  ------------

     Thank  you for using M A X'S BBS!  This program is the result of three
     year's worth of programming.  It was developed due to the lack of true
     Amiga  BBS  programs  ie.  not  ported  from the IBM.   M A X's BBS is
     Copyright  ©  1992  by  Anthony  Barrett.   This program is now Public
     Domain and may be freely distributed.  ...............................
     ......................................................................
     ................................................................   M A
     X's BBS SHALL NOT BE USED TO SPREAD COPYRIGHT MATERIAL  OR  SOFTWARE. 
     NO RESPONSIBILITY IS ACCEPTED FOR DAMAGES ARISING FROM THE USE OF THIS
     PROGRAM.  ............................................................
     ......................................................................
     ......................................................................
     ......................................................................
     ......................................................................
     ......................................................................
     ......................................................................
     ......................................................................
     ......................................................................

     BBS stands for Bulletin Board Service.   BBS's became popular when the
     first  300  bps  modem  became available at an affordable price.   The
     first BBS I called was "The Omen" and I was an  enthusiast  from  then
     on.   I  had  a  Dick  Smith System-80 and a Dick Smith 300 bps manual
     modem.   I think "The Omen" BBS  is  still  running  today.   The  BBS
     software  back  then  was  very  basic  with  only the XModem checksum
     protocol available for file transfers.   Since then,  BBS software has
     become more advanced with the introduction of full screen editors, The
     ZModem file transfer protocol and FidoNet echo mail  linking  all  the
     BBS systems together.

     This  program was written for the Amiga,  and makes use of the Amiga's
     graphical user interface called "Intuition".   Some Amiga BBS programs
     which  were  ported  from the IBM environment are menu driven,  making
     them slow and awkward to use.   The Amiga's audio channels are used to
     play  sampled  sounds  for the Bell and the BBS menu function 3 - Chat
     call, so experiment and have some fun trying different sound samples.

     M A X's BBS has a built in FidoNet front  end,  message  importer  (or
     tosser) and FidoNet dialer.  M A X's BBS can be easily configured as a
     FidoNet Hub because of it's easy to use  "FidoNet  mail  distribution"
     window.   Before M A X's BBS,  BBS programs relied on separate FidoNet
     front end programs and message tosser programs to  set  up  a  FidoNet
     system, making them slow and difficult to configure.

     M  A  X's  BBS has a custom print routine allowing speeds of over 9600
     bps when printing/sending menus and  text.   The  BBS  program  called
     "BBS-PC!"  could connect at 9600 bps but the text printing speed would
     limit the sending of text to just over 2400 bps.   The faster speed is
     achieved  by  printing  a line at a time then sending that line to the
     serial port,  rather than a print character then send character method
     (this will become noticeable when using speeds 1200 bps or less).

     M A X's BBS can be completely customized!   Not only can you make your
     own menus but you can edit and change all the  BBS  text  and  colours
     using the built in text editor.   You could even translate the English
     text into another language.   You can insert the time, date or any one
     of  the forty seven auto inserts anywhere in your text!   You can hide
     all or parts of any text to users by  specifying  the  minimum  access
     level.

     M  A  X's  BBS is a true ANSI BBS,  ie.  all the ANSI colour codes are
     supported and any interruptions to the printing/sending of menus  (hot
     keys)  and  text files will force an ANSI colour code (line 36) before
     the text is printed/sent.  When the BBS sends a message such as "Press
     <RETURN>  to  continue"  (line  29) or  warnings like "You have x mins
     remaining..." (line 23) while printing a text file, the foreground and
     background  colour  will  be  saved and restored before and after that
     message.   This will stop any colour changes in text due to  that  BBS
     message.

     M  A  X's  BBS  is  one  single  executable  file.   No messy separate
     configuration or FidoNet programs to worry about,  it is all done with
     the  one program!   A powerful online user editor lets the local Sysop
     edit any part of the current online user,  including the user's name! 
     A  message  optimizer will remove all unused space in the message base
     files, this will save you precious disk space!

     M A X's BBS supports the following file transfer protocols:

                                XModem
                                XModem CRC
                                XModem 1K
                                YModem (batch)
                                YModem-g
                                ZModem

     All protocols have been written as close to specification as possible.
     The ZModem protocol is the latest revision available at  the  time  of
     this release.

     M A X's BBS has been written in Assembler.  Not only does this make it
     run faster but also makes the program  size  very  small  (about  173K
     bytes).   Utilities and support programs are being written for M A X's
     BBS and are available from the "M A X's BBS support files" section  on
     my BBS (see "Reporting bugs and ordering") or from the Author.


                                  INSTALLATION
                                  ------------

     M A X's BBS comes on a standard AmigaDOS formatted disk.

             ***  MAKE A BACKUP NOW BEFORE YOU GO ANY FURTHER!  ***

     There  is  no  copy protection (please read the first paragraph if you
     have not already), therefore any copy program will be adequate.

     M A X's BBS should run on a standard 512k byte Amiga  but  will  limit
     the amount of multi-tasking you can do while the BBS is running in the
     background.   Of course the more  memory  the  better.   The  optimize
     message function is memory limited (see "Pull down menu functions").

     It  is possible to run the BBS as it is,  using only one floppy drive,
     but the free space will limit the message base and  file  library  (if
     any).   Therefore  it  is recommended that it be installed onto a hard
     drive.  If you do not have a hard drive the BBS will run fine with two
     floppy drives.   Use the first drive to hold the boot and main program
     disk,  and use the second drive for the message base and file library.
     Of  course  a practical file library would not be possible on a floppy
     drive system but should be adequate for a good sized message base (see
     "Configuring  the  BBS").   A  floppy disk cache program would also be
     recommended to speed up the disk operations.


     Hard drive installation:

     To  install  M A X's BBS onto a hard drive system make a new directory
     on the hard drive called "BBS",  and then copy the BBS directory  from
     the floppy disk to the hard drive BBS directory.

                    CLI eg:

                              MakeDir DH0:BBS
                              Copy DF0:BBS/ DH0:BBS/

     M A X's BBS uses the font called "TBM.font".   If you do not have this
     font  in  your  font  directory already,  then copy it from the floppy
     disk's font directory to the hard drive's font directory.

                    CLI eg:

                              Copy DF0:Fonts/TBM.font DH0:Fonts/
                              MakeDir DH0:Fonts/TBM
                              Copy DF0:Fonts/TBM/8 DH0:Fonts/TBM/

     You must add to your "Startup-sequence" the AmigaDOS "Assign"  command
     so that M A X's BBS will know where to find all the BBS files.

                    CLI eg:

                              Assign BBS: DH0:BBS/


     Starting the BBS:

     All data files are version dependent ie. you can not use early version
     data files with a later version  program.   This  is  to  protect  the
     system  from  crashing  due  to  differences  in  data  files as later
     versions are released.   A conversion program called "MAXsCon" is sent
     out  with all upgrades to convert your old data files to work with the
     new version.   Any file zapping to the data files is done at your  own
     risk.   M  A  X's  BBS  can be started either from WorkBench by double
     clicking on the M A X's BBS icon, or from the "CLI".  To start M A X's
     BBS  from  the  "CLI" use the AmigaDOS "Run" command so that the "CLI"
     window can still be used after starting the program.

                    CLI eg:

                              Run BBS:MAXsBBS

     When  started,  M  A  X's  BBS  will  look  for  the  "MAXsBBS.config"
     configuration data file in the "BBS:" file path.  If you wish to start
     M A X's BBS with a different configuration file then you can  add  the
     filename and path after the program name.

                    CLI eg:

                              Run BBS:MAXsBBS BBS:MAXsBBS.config



                              CONFIGURING THE BBS
                              -------------------

     Once the program is running, use the pull down menu called "Config" to
     set up the BBS to suit your own needs.   Use the "Save all" and  "Load
     all"  functions  to save all changes (including the BBS menus) on disk
     and to restore any unwanted changes from disk.   The  following  is  a
     description of each window and its associated gadgets:


     System configure:

       This window has the file paths for all the BBS data files  and  text
     files.   Change these as required,  and make sure the files are in the
     right directory as indicated by the  file  path.   Change  the  system
     parameters and flags to suit your disk space and needs.

       Text  files  file path:   This is the file path for all the BBS text
     files.  It is also a good idea to put your own text files in this file
     path  so  that they are all together,  and you will know where to look
     when you need to edit them.  See the chapter "Customizing the BBS" for
     a description of each of these files:

                                BBS.text
                                Bulletin.text
                                FSEHelp.text
                                Guest.text
                                Intro.text
                                ListFilesHelp.text
                                ListFilesMenu.text
                                LockOut.text
                                LogIn.text
                                LogOut.text
                                MsgEdHelp.text
                                MsgEdMenu.text
                                MsgRdHelp.text
                                MsgRdMenu.text
                                MsgSearchMenu.text
                                ProtocolHelp.text
                                ProtocolList.text
                                ProtocolMenu.text

       User file path:  This is the file path for the user data file.   The
     size  of  this file depends on the "Maximum users" value (see below). 
     This is the filename of the user file:

                                User.data

       Message files file path:  This is the file path for the message base
     files.   The  size  of  these  files depends on the "Max" value in the
     "Sections configure" window (see below),  ie.  the more messages there
     are, the larger these files get.   The following files should be found
     in this file path:

                                Message.data
                                Message.index
                                Message.text

       Files file path #1:  This is the file path for the file library data
     file  and  the  uploaded files themselves.   The size of the data file
     depends on the "Max" value in the  "Sections  configure"  window  (see
     below), but this would normally be insignificant compared to the space
     required for the uploaded files.   Be sure that this file path  points
     to  a disk with a lot of free space.   Also see "Minimum upload space"
     below.  This is the filename of the file library data file:

                                File.data

       Files file path #2 (opt):   This is a second optional file path  for
     the  files  in  your  file  library.   Newly uploaded files are always
     stored in the first file path (see above), but later they can be moved
     to  one of the two optional file paths.   This is useful when you have
     more than one hard drive or floppy disk and you  wish  to  spread  the
     files between them.

       Files  file  path #3 (opt):   This is a third optional file path for
     the files in your file library.  Same as above.

       Log files file path:   This is the file path for the caller log file
     and the FidoNet log file.   The size of the caller log file depends on
     the "Log size" value (see below).  The FidoNet log file is a text file
     which contains the date and time for each FidoNet event.  It will also
     log the name of the user and the "CLI" command used when using the BBS
     menu  function 28 - CLI.   The FidoNet log file can be disabled in the
     "FidoNet configure" window.   Each new entry to the FidoNet  log  file
     will  be  appended to the file.   It can be read with any text editor,
     text reading program or  typed  to  the  BBS  window  using  BBS  menu
     function 13 - Type a file.  The FidoNet log file will continue to grow
     in size until you delete it and start a new one or  disable  it.   The
     filenames of the log files are:

                                Log.data
                                Log.text

       Bell sample:   This is the bell sound sample's filename  and  path. 
     This  is  the  sound  you will hear when the BBS sees the bell control
     character (^G) in any text.  It is also used to attract your attention
     in some parts of the BBS.


       Play rate:  This is the play back rate of the bell sample.  The play
     rate is in bytes per second and ranges from 500 to 28000.

       Chat  sample:   This  is the chat sound sample's filename and path. 
     This is the sound you will hear when the BBS menu function  3  -  Chat
     call,  is selected.   This is a fun one to play with,  limited only to
     your sampled sound library.

       Play rate:  This is the play back rate of the chat sample.  The play
     rate is in bytes per second and ranges from 500 to 28000.

       Max users:  This is the maximum number of users allowed on your BBS.
     This is useful for limiting the user file size.   A user file  of  300
     users  would  need  a user file of about 91K bytes.   If a new "Guest"
     user tries to logon when the user file is full then  a  message  "User
     file is full, call back next week" (line 8) will be given.  This gives
     time for the Sysop to delete inactive users  and  make  room  for  new
     "Guest"  users (see the pull down menu function "User editor").   This
     value ranges from 1 to 65000.

       Max file size:   (Maximum file size)  This is the maximum file  size
     that  can  be uploaded.   If a file exceeded this size it would not be
     stored in the file library.   If the ZModem protocol is used to upload
     a  file  which  exceeds  this  size,  then  the  file  will be skipped
     ("ZSkip").   This is useful to stop users uploading files which  could
     not be downloaded in the time limit available to most users.   This is
     also useful when used in conjunction with the "Minimum  upload  space"
     value  (see  below)  to prevent your upload disk from being completely
     filled.  This value is in K (1024) bytes and ranges from 1 to 65000.

       Log size:   This is the caller log size.   A caller log size of  500
     would need a log file size of about 35K bytes.  Also see the pull down
     menu function "Caller log".  This value ranges from 1 to 99999.  Note:
     Changing this value will restart the caller log.

       Upld  reward:   (Upload  reward)  This is used to encourage users to
     upload files.   When a file is uploaded,  the  size  of  the  file  is
     compared  to  this  value to calculate an increase for the user's time
     limit,  as a reward for the upload.   This value is in seconds  per  K
     (1024) bytes uploaded.   A value of zero (0) will never give an upload
     reward.  Also see "Max time" below.  This value ranges from 0 to 120.

       Sleep time:   This sets the inactivity countdown timer used when the
     BBS is waiting for a response from the user.  If this times out before
     receiving a response from the user then the BBS will  hang-up  on  the
     user (sleep disconnect).  The Bell will sound once for every minute of
     inactivity to warn the user.  This value is in minutes and ranges from
     1 to 59.

       Countdown:  This is the value for the local countdown timer to force
     a user off the BBS.  See the pull down menu function "Countdown" for a
     description of the countdown timer.   This value  is  in  minutes  and
     ranges from 1 to 59.

       Chat on:   This is the 24 hour time to turn on the BBS menu function
     3 - Chat call.   This stops users from paging the  Sysop  at  unwanted
     hours.   Note: Users with Sysop access (5000) can page the local Sysop
     at any time.

       Chat off:   Same as above,  but is the 24 time to turn off the  chat
     call function.   Note:  If this time is the same as the "Chat on" time
     then the chat call function will always be on.

       Max pages:   (Maximum pages)  This is the maximum number of times  a
     user  can  page  the Sysop for each login.   Exceeding this value will
     give the "There's no point calling any more" (line 41) message.   This
     stops  users  from  paging continuously.   This value ranges from 1 to
     99999.

       U/D on:   (Upload/Download on)  This is similar to "Chat on" above. 
     This  is  the  24  hour  time  that  users  can  start  selecting file
     transfers.  This is useful to stop users tying up the BBS during prime
     message hours.

       U/D  off:   (Upload/Download  off)   The  24  hour time to stop file
     transfers.   Note:  If this time is the same as "U/D on"  (see  above)
     then file transfers will be allowed at any time.

       Dimmer:  This is the timer value to dim the idle BBS screen.  If the
     BBS has been waiting for the next caller for this time value, then the
     screen  will  dim  to  help save your monitor's CRT.   The screen will
     return to normal with any kind of activity (eg.  mouse  click).   This
     value is in seconds and ranges from 1 to 99999 (never dims).

       Max time:   (Maximum time limit) This is the maximum time limit that
     a user can obtain when receiving upload rewards (see above).   If  the
     user  has  a  time  limit  the  same or higher than this value then no
     upload rewards will be given.   This is to stop users from building up
     a ridiculous time limit from upload rewards.  This value is in minutes
     and ranges from 0 (no upload rewards) to 10000.

       Min up spc:   (Minimum upload space)   This  is  the  minimum  space
     allowed  on  the  disk  pointed  to  by  the "Files file path #1" (see
     above).   This is useful to prevent the upload disk from  getting  too
     full  and  thus  preventing  messages from being saved (only if on the
     same disk).  If the "Minimum upload space" is exceeded, then a message
     "Getting  low  on  upload  space" (line 194) will be given when a user
     tries to upload a file.  When uploading using the ZModem protocol, the
     file  size  is checked against the "Minimum upload space" and the file
     is skipped ("ZSkip") if it exceeds this  value.   Use  this  value  in
     conjunction  with  the  "Maximum  file  size" ie.  "Maximum file size"
     should be smaller than "Minimum upload space".   This value  is  in  K
     (1024) bytes and ranges from 1 to 99999.

       Max  tm  bnk:   (Maximum  time  bank)  This is the maximum time bank
     balance a user can obtain when depositing to the time  bank.   If  the
     user  has  a  time  bank balance the same or higher,  then the message
     "Your time bank balance is too high!" (line 240) will  be  given  when
     attempting  to  deposit more time.   See BBS menu functions 29 to 31. 
     This value is in minutes and ranges from 0 (no deposits) to 10000.

       New files public:   This gadget is used to select whether or  not  a
     newly uploaded file will be available to all users.   Note: Users with
     Sysop access (5000) can access any "New" file.

       Esc ctrl chars:   (Escape control characters)  Used with the  ZModem
     file  transfer protocol only.   The ZModem protocol allows encoding of
     all control characters for  non-transparent  data  path  mediums  (eg.
     networks).   Selecting  this  will  force all control characters to be
     escaped.   Note:  This will greatly increase file transfer times,  use
     only if needed.   This may not work with some early implementations of
     the ZModem protocol.

       Flashing text:   Select this to enable  ANSI  flashing  or  blinking
     text.  This will open a four bit plane screen to enable flashing text.
     Note:  When turned on,  it will slow down the Amiga's "Intuition"  and
     font routines giving a slower scroll and print.

       NTSC  (Interlace):   Select  this  if  you are using an NTSC display
     system (USA).  Interlace mode is used for NTSC to gain the extra lines
     required  by  the  PAL system that this program was originally written
     for.   Sorry,  but it is easy going from NTSC to PAL but  not  PAL  to
     NTSC.   It  will  also  change  the  timing routines as PAL is a 50 Hz
     system and NTSC is a 60 Hz system.

       ZModem XON/XOFF:   Select this to turn on XON/XOFF flow control  for
     rates  of  2400 bps and below during a ZModem receive.   This does not
     effect ZModem send.   XON/XOFF flow control is default  on  for  rates
     higher  than 2400 bps.   This would normally be turned off as for most
     cases the Amiga can keep up with rates 2400 bps and below,  but if you
     are doing heavy multi-tasking during ZModem receives then turn on this
     gadget.   This option was added to help stop stray XOFF's from locking
     up  the  BBS  during ZModem receives.   Rates higher than 2400 bps are
     normally protected  with  MNP  (Microcom  Networking  Protocol)  error
     correction.   Note:  ZModem send handles all XON/XOFF flow control, if
     an XOFF is not followed by an XON in 60 seconds then the file transfer
     will abort.


     Modem configure:

     This window contains the information and options about the  modem  you
     wish  to  use  with the BBS.   The default setup should work with most
     standard 2400 bps "AT" command set modems.   The BBS assumes that  all
     serial data is 8 data bits, 1 stop bit and no parity.  7 data bits was
     considered, but would not be compatible with the current file transfer
     protocols.   The  BBS  will  hang-up  the  modem by dropping the "Data
     Terminal Ready" (DTR) signal,  so be sure to tell your modem  this  in
     the  "Setup"  command string (see below).   The term "bits per second"
     (bps) is used instead of baud rate because by definition baud rate  is
     the  rate  of  change in the signal.   With the high speed modems used
     today,  a change in the signal could mean a two or more bit change  in
     data.   Therefore  the  baud  rate  may  be the same or lower than the
     actual bits per second.  All the string gadgets in this window can use
     the control character specifier "^".  The "^" character means that the
     following character is a control character.  See the "Text editor" for
     more  information  on  using  the  control  character specifier.   The
     following are descriptions of the gadgets in this window:

       Max:   (Maximum bps)  This is the maximum bps rate that  your  modem
     can connect at, or the bps rate that the BBS will use when "Locked bps
     rate" (see below) is selected.   This is the bps rate at which the BBS
     will  send the "Setup" command string (see below) to the modem.   Some
     modems will connect at a bps rate the same or lower than the bps  rate
     that the last command was sent.  Therefore when a user connects at 300
     bps, at the end of the session the BBS will resend the "Setup" command
     string to the modem at this maximum bps rate,  allowing other users to
     connect at a higher bps rate.  This parameter ranges from 300 to 19200
     and is in bps (the rate doubles for each step).

       Min:   (Minimum bps)  This is similar to the above except that it is
     the lowest bps rate that you will allow users to connect to your  BBS.
     If  a  user  connects at a lower bps rate than this minimum,  then the
     "Too slow connection" (line 131) message will be  given  and  the  BBS
     will  then  hang-up  (or  after  a  new "Guest" user has been sent the
     "Guest.text" file).  This is useful to stop 300 bps callers from tying
     up  the  BBS.   Again this is in bps and ranges from 300 to 19200 (the
     rate doubles for each step).

       Setup:   This is the modem command string  used  to  initialize  the
     modem at start-up and after each call.  Use this command string to put
     your modem into auto answer.   Do not  forget  to  add  the  "Carriage
     Return"  (^M)  at  the  end.   It  is  also  recommended to change the
     attention character register to 1 to prevent users  from  accidentally
     putting  your  modem  into command mode when the BBS echoes characters
     back to the user.   This was an old way "Hackers" used to crash BBS's,
     but do not worry, if your modem does go into command mode the BBS will
     time out (sleep disconnect),  hang-up and resend the "Setup"  string. 
     The  character  "~"  can  be  used  to force a one second delay before
     sending the next characters.   Here is an example command string which
     first  resets  the  modem,  tells  the modem to hang-up when the "DTR"
     signal is dropped,  redefines the attention character to 1 and set the
     number of rings to answer for two:

                              ATZ^M~AT&D2S2=1S0=2^M

       300:   This is the string that the modem sends to the BBS when a 300
     bps connection is established.  When the BBS sees the "Carrier Detect"
     (CD)  signal  active  it  will  wait  for the connection string,  then
     optionally change to the bps rate indicated by the  connection  string
     (also  see  "Locked bps rate" below).   The strings are case sensitive
     and a "Carriage Return"  (^M)  and  "Line  Feed"  (^J)  will  normally
     terminate the strings.  Note: A common problem of the BBS appearing to
     lock-up when a carrier is detected is because the connect string  that
     the  modem  sends  to the BBS,  does not match with any of the connect
     strings defined here and below.

       600:   This is the string that the modem sends to the BBS when a 600
     bps connection is established.  Rarely used now.

       1200:   This  is  the  string that the modem sends to the BBS when a
     1200 bps connection is established.

       2400:   This is the string that the modem sends to the  BBS  when  a
     2400 bps connection is established.

       4800:   This  is  the  string that the modem sends to the BBS when a
     4800 bps connection is established.

       9600:   This is (yes you guessed it) the string that the modem sends
     to the BBS when a 9600 bps connection is established.

       19200:   This  is  the string that the modem sends to the BBS when a
     19200 bps connection is established.

       Busy:   This is the string that the modem sends to the  BBS  when  a
     busy signal is detected.  Used in the "FidoNet dialer".

       No  DT:   (No Dial Tone)  This is the string that the modem sends to
     the BBS when no dial tone is detected.  Used in the "FidoNet dialer".

       Seven-wire handshaking:   This gadget is used to  select  seven-wire
     (CTS/RTS)  handshaking between the BBS and the modem.   This option is
     normally used for high speed buffered modems.   Use it in  conjunction
     with  "Lock  bps  rate" (see below) and a maximum bps rate higher than
     the maximum rate your modem will connect at,  to increase the  through
     put for MNP (Microcom Networking Protocol) modems.   When using seven-
     wire handshaking you may experience delays when  the  modem's  buffers
     are  full,  this  is  because while the modem empties it's buffers the
     handshaking stops the sending of any more  data  by  the  BBS.   Note:
     Because  of a problem (bug?) with the Amiga's "serial.device",  seven-
     wire handshaking only works when the modem  signal  "Data  Set  Ready"
     (DSR) is active.   If seven-wire handshaking is not working, try using
     the command "AT&S0" to force the modem's "DSR" signal active.

       Locked bps rate:   This gadget is use to select a  locked  bps  rate
     between the modem and the BBS.  When selected, the BBS will not change
     the bps rate when a connect string from  the  modem  is  received.   A
     locked  bps  rate  is  normally  used with seven-wire handshaking (see
     above).

       Send setup string twice:   When this gadget is turned  on,  the  BBS
     will always send the "Setup" command string twice to the modem.   Some
     modems may not auto change the bps rate to the BBS  bps  rate  on  the
     first  command  string,  and therefore miss the command string.   This
     gadget guarantees that the modem will change it's bps rate and receive
     the command string.

       Slow  command string:   This gadget is used to select the sending of
     the "Setup" command string at a slow typing speed.   Some  modems  may
     not like command strings being sent at full speed,  and will miss some
     or all characters in the string.

       Serial unit #:  This gadget contains the serial unit number that the
     BBS  will  use.   For  those  with  more  than one serial port.   On a
     standard Amiga this is set to unit zero (0).

       Snd setup:   (Send setup)  Click on this gadget to send the  "Setup"
     command string to the modem.


     Menu editor:

     This is a very powerful window.   It is where you define the keys  and
     functions  of  all  the  BBS  menus.   See  the  chapter  on "BBS menu
     functions" for a list and description of the currently available  menu
     functions.   Also  see "Customizing the BBS".   You must have at least
     one menu.   All the BBS menu data is stored  in  the  "MAXsBBS.config"
     file,  this  file will grow as you add more menus to your BBS.   It is
     recommended to print out the menu functions summary file called:

                                MenuFunctions.text

     Have this with you as a  quick  look-up  for  all  the  menu  function
     numbers.  Each menu is numbered and may be as large as memory permits.
     This window can display up to ten menu  functions.   If  the  menu  is
     larger,  then  it  will  continue in the next lot of ten (use the down
     arrow).  The following are descriptions of the gadgets in this window:

       Up and down arrows:   Use these gadgets to move up and down in  lots
     of  ten.   If  a menu is smaller than ten functions then the next menu
     will be shown.

       Goto:   This is a "go to menu number" gadget.   To use  this  simply
     click in the box,  type the number of the menu you wish to go to, then
     press <Return>.

       Text filename:   This is the filename and path of the menu text file
     associated with the current menu number.   This menu text file is what
     is seen by the user.   When you enter a filename here the menu  number
     will  automatically  increase  by  one  if this is the last menu,  ie.
     adding a new menu.  Note:   If you insert a menu and enter a filename,
     it  will  have  no  effect unless you are at the last menu.   The same
     applies for menus which are larger than one full window (ten entries).

       Key:   This is the key or character  (always  UPPER  case)  used  to
     select the menu function.  The BBS scans this field from top to bottom
     and if a match is found then the access is checked.   If the user does
     not have access to this function, then it will continue scanning until
     it either finds the end of this menu, or it finds a match and the user
     has access.   This is useful in that you can have the same key perform
     different functions depending on the user's access level.

       Function:   This is the number of the function to perform  with  the
     associated key (see above).  This value ranges from 0 (not defined) to
     33.  See "BBS menu functions".

       Extra:   This is an extra parameter to use with  the  function  (see
     "BBS  menu  functions").   Note:  Not all BBS menu functions need this
     field and it may therefore have no effect.   This value ranges from  0
     to 10000.

       Access:   This  is  the  access level needed by the user to use this
     function.  The user must have the same or higher access level.  If the
     user  has  an access level less than this value,  then the key pressed
     will be ignored and no message will be seen by the user.   This  stops
     users  from  randomly pressing keys to see what might be hidden in the
     menu.   The BBS will continue scanning for another match if  the  user
     does not have high enough access (see "Key" above).  This value ranges
     from 0 to 10000.

       Filename/Name/Dest:  This is additional text that may be required by
     the  function.   For  example a filename is required with the BBS menu
     function 13 - Type a file.  Note: Not all BBS menu functions need this
     field and it may therefore have no effect.

       Top/Btm:   (Top/Bottom)   Click  on this gadget to move to the first
     and last menu.   Use this gadget first to move to the last menu before
     you try to add a new menu.

       Show:   Click on this gadget to show the  menu  text  file  for  the
     current  menu  number.   This  is  useful if you forget which keys are
     supposed to select which function.   It also lets  you  check  if  the
     filename  and  path  are correct.   Click again or hit any key to exit
     back to the menu editor.

       Add/Insert:   Click on this gadget to add a new menu,  or to  insert
     more  functions to an existing menu.   The insert will be placed after
     the current menu.

       Delete:  Click on this gadget to delete the current menu.  All menus
     after the deleted menu (if any) will be moved up.   You can not delete
     the first menu.   Note:  If you delete a menu which is larger than ten
     functions,  be  sure  to add the filename and path of the text file to
     the remaining part of the menu.  Also if you delete a menu completely,
     the menu numbers of the remaining menus will not change,  ie.  you may
     have menu numbers missing.


     Sections configure:

     M A X's BBS,  like many BBS's,  uses sections to divide up the message
     base and file library.   The sections help to organize and  categorize
     large message bases and file libraries.  All functions associated with
     the message base and file library require a section number.   You  can
     have  up  to  100 sections.   Note:  Section 0 is reserved for private
     messages.   Messages in this section will require the  message  to  be
     "To"  or "From" the user to be read (Sysops (access 5000) can read all
     private messages).

     The addition  of  flags  for  each  section  makes  each  section  act
     differently.  M A X's BBS has a unique maximum value for each section,
     allowing a different maximum number  of  messages  or  files  in  each
     section!   When  a  section  becomes full it will roll ie.  the oldest
     message or file will be deleted to make room for the new one.  This is
     how  the  size of the section can be controlled for file size reasons,
     as well as management reasons.   Messages and files can be roll locked
     (by a Sysop) to prevent it from being deleted when the section becomes
     full.  It will instead delete the next unlocked message or file.   The
     following are descriptions of the gadgets in this window:

       Up  and down arrows:   Use these gadgets to move up and down in lots
     of ten.

       Name:  This is where you enter the name of the section.  The name of
     the  section is displayed along with the message when it is being read
     (see BBS menu function 17 - Read messages).

       Access:   This is the access level required by the  user  to  access
     messages  or files in this section.   If the access is zero (0),  then
     the section is not valid and is not used by the BBS.  Note: When using
     "linked sections" (sections 100,  101 and 102) the user still needs an
     access level the same or higher to include that section as one of  the
     linked sections.  This value ranges from 0 (not used) to 10000.

       Max:   (Maximum  messages/files)   This  is  the  maximum  number of
     messages or files allowed in this section.   When  a  section  becomes
     full  it  will  automatically  delete  the oldest message or file (see
     above).  This value ranges from 1 to 99999.

       Frm:  (From flag)  This flag specifies whether or not a user can see
     who  the  message  or  file  is  from.   This  is useful for anonymous
     sections.   Note:  When searching messages (see BBS menu function 17 -
     Read  messages),  this  flag  must  be  set for the search function to
     include this section's "From" field in the search.  This was added for
     security reasons.

       To:   This  flag  specifies  whether  or  not a user can see who the
     message is to.  This is useful for anonymous message sections.   Note:
     When  searching  messages  (see BBS menu function 17 - Read messages),
     this flag must  be  set  for  the  search  function  to  include  this
     section's "To" field in the search.

       Del:   (Delete  flag)  This flag specifies whether or not a user can
     delete a message "To" or "From" them,  or a file  uploaded  by  them. 
     Note: Sysops (access 5000) can delete any message or file.

       Lnk:  (Linked section flag)  This flag specifies whether or not this
     section is included as a linked section.   Sections 100,  101 and  102
     are  used  to specify linked sections.   Section 100 means include all
     linked local messages or files.   Section 101 means include all linked
     echo messages.   Sections 102 means include both linked local and echo
     messages.   For example, a "Read all new local mail" menu choice would
     use  linked  section 100 as the section number (limited to user access
     level).

       Als:   (Alias flag)  This flags specifies whether or not a user  can
     type  in an alias to use as the author's name.   It can be quite funny
     reading a message from "Batman"!   Replies to messages left  using  an
     alias, will be found on the logon mail search as addressed to the user
     who used the alias.   Note:  Sysops (access 5000) will see the  user's
     real name next to the alias when reading messages.   Same applies when
     listing files from an alias.

       Fil:   (File flag)  This flag  is  the  difference  between  a  file
     section  and  a message section.   Note:  You can not mix messages and
     files in the same section,  and only linked section number 100 can  be
     used with file BBS menu functions.

       Ech:   (Echo mail flag)  This flag specifies a FidoNet echo  message
     section.   This  flag  must be set to use this section in the "FidoNet
     mail distribution" window.

       Top/Btm gadget:   (Top/Bottom)  Click on this gadget to move to  the
     first ten and last ten sections.


     User defaults:

     This window is  used  to  set  the  user  defaults  for  "Guests"  and
     "Members".   A "Guest" user is one who is new to your BBS.   The Guest
     user will remain a Guest until a Sysop upgrades their access (see  the
     pull  down  menu  function - "User editor").   The Member defaults are
     used for instant Member's status in all three different  user  editors
     (see  the  pull down menu function "User editor" and BBS menu function
     26 - Edit a user).   The following is a description of the gadgets  in
     the "User defaults" window:

       Rd:   (Read  access  flag)   This  is  the  read  access  flag which
     specifies whether or not a user can read messages (regardless of their
     access level).

       Wr:   (Write  access  flag)   This  is  the  write access flag which
     specifies whether  or  not  a  user  can  write  or  leave  a  message
     (regardless of their access level).

       Up:   (Upload  access  flag)   This  is the upload access flag which
     specifies whether or not a user can upload files (regardless of  their
     access level).

       Dn:   (Download access flag)  This is the download access flag which
     specifies whether or not a user  can  download  files  (regardless  of
     their access level).

       Access  level:   This  is the access level of the user.   The access
     level must be the same or higher than the access level  in  the  "Menu
     editor" window, or the "Sections configure" window for the user to use
     that function or section.   The access level can also be used to  hide
     parts  or all of text (see "Customizing the BBS").   This value ranges
     from 0 (locked out) to 10000 (Almighty Sysop access!).

       Time limit:  This is the daily online time limit for the user.  Once
     a  user has logged on the BBS,  the timer is started,  when it reaches
     zero the BBS will give the message "Out of time" (line 24)  and  hang-
     up.   When the time remaining reaches five minutes or less,  a warning
     message will be given for every minute (line 23).  Once the daily time
     limit has been exceeded, the user will have to wait until the next day
     to refresh the time remaining.   This value ranges from 0 to 10000 and
     is in minutes.

       D/U Ratio:   (Download/Upload Ratio)   This  is  a  download  versus
     upload  ratio  used  to  help  prevent users downloading files and not
     contributing any uploads (file hogs).   A value of zero  (0)  disables
     this  check.   Maximum  of 10000 and is in actual number of successful
     files transferred.


     Text editor:

     M  A X's BBS lets you completely customize the look of your BBS.   The
     text editor lets you edit all the BBS text.   You can change the  ANSI
     colour  codes  or even change the BBS to a different language!   It is
     recommended that you get used to the BBS before you try to change  the
     actual  text.   You can replace any text you like to suit the theme or
     name you choose to give your BBS (see "Customizing the  BBS").   Note:
     Changing  the  text  too  much  may confuse a new user or a user first
     starting out.  It is up to you as a Sysop to help such users, remember
     when  you got your first modem!   The last few empty text lines can be
     used with the BBS menu function 15 - Print text.   Be sure only to use
     lines from the last line upwards, as future upgrades will use the next
     blank line and downwards and therefore will overwrite your text.

     To insert control characters into the text you must  use  the  control
     character specifier "^", followed by the ASCII character calculated by
     adding 64 (Hex 40) to the control character's ASCII value.   Here is a
     list of control characters you can use and their equivalent:


             Name:                       ASCII value:     Equivalent:

             Bell                        7                ^G
             Backspace                   8                ^H
             Tab                         9                ^I
             Line Feed                   10               ^J
             Form Feed (Clears screen)   12               ^L
             Carriage Return             13               ^M
             Escape                      27               ^[


       Some  text  lines  may  not  be that obvious when and where they are
     used, so here is a list of the less obvious lines:

         0:  The Sysop's name, place your name here!

        36:   The ANSI code printed/sent to reset any colours when  a  menu
     "Hot key" is pressed.

        43:  The ANSI code to set the colour of the characters typed by the
     local Sysop when chatting to a user.

        44:  The ANSI code to set the colour of the characters typed by the
     user when chatting to the local Sysop.

        58:   The  ANSI  code  to  set the colour of the line number in the
     normal message text editor.

        59:   The ANSI code to set the colour of the text  after  the  line
     number in the normal message text editor.

        91:   The  ANSI  code  to  set  the colour of the message text when
     reading messages.

       115:  The "quoted" text prefix used when quoting text from a message
     you are replying to.

       127:   The  ANSI  code  to  set  the  colour of the user's name when
     listing users.

       128:   The ANSI code to set the colour of  the  user's  suburb  when
     listing users.

       129:   The  ANSI  code  to set the colour of the user's last on date
     when listing users.

       143:   Used to terminate the printing of the caller log  when  using
     BBS menu function 19 - Print caller log.

       150:   The  ANSI code to set the colour of the filename when listing
     files.

       151:   The ANSI code to set the colour of the file size when listing
     files.

       152:   The  ANSI  code  to  set the colour of the date uploaded when
     listing files.

       153:   The ANSI code to set the colour of whom a file is  from  when
     listing files.

       154:   The  ANSI code to set the colour of the file description when
     listing files.

       155:  The text after the filename to show that the file is locked.

       156:  The text after the filename to show that the file is "New".

       182:   The text printed after line  181  on  completion  of  a  file
     transfer.

       197:   The ANSI code to set the colour of the text  when  reading  a
     text file from the file library.

       198:  The text used to terminate the reading of a text file from the
     file library.

       234:   The  text  before  the  output  file  of  a  CLI  command  is
     printed/sent.

       254:   The  prefix text used when printing the user's real name next
     to the user's alias while reading messages (Sysop access only).

       255:   The suffix text used when printing the user's real name  next
     to the user's alias while reading messages (Sysop access only).

       258:   The  prefix text used when printing the user's real name next
     to the user's alias while listing files (Sysop access only).

       259:   The suffix text used when printing the user's real name  next
     to the user's alias while listing files (Sysop access only).


     Macros:

     M A X's BBS has built in local Sysop  macros!   Macros  allow  you  to
     define  the  Amiga's  function keys to automatically type text strings
     into messages or anywhere that requires input from the keyboard.  They
     can  be  used  when you find that you are continuously typing the same
     thing over and over.   Macros are useful for making nice sign-offs  at
     the end of your messages, or entering your name at logon.  The "Shift"
     gadget will toggle the window between the normal function keys and the
     shifted function keys.  This gives you two strings per function key.


     FidoNet configure:

     FidoNet is a system where many BBS's can share the same message  base.
     When  a  new message is stored in an echo message section,  it is also
     stored in one or more of the OutBound FidoNet files according  to  the
     destinations  specified in the "FidoNet mail distribution" window (see
     below).   These OutBound FidoNet message files  are  called  bundles. 
     Message  bundles  can  also  be  optionally archived using the utility
     called "Lharc",  a program written by Paolo Zibetti and  available  on
     most  good Amiga BBS's.   "Lharc" version 1.30 was tested with M A X's
     BBS but versions the same or higher should work.  A FidoNet system can
     either  then call your BBS to pick up their files,  or your BBS can be
     configured to call their BBS.   Once a FidoNet connection session  has
     been  started,  files  are  first sent to the answering BBS,  then the
     OutBound files for the originating BBS (if  any)  are  sent.   Message
     bundles can be empty ie.  no messages.  These empty bundles are called
     "Poll" packets,  and are used to "Poll" the answering system in  order
     to  pick  up  the  waiting  OutBound files.   Once all files have been
     transferred,  the built in message importer will examine  the  InBound
     files  file  path  for  message  bundles  to  process  (see "Force msg
     import").

     A "Hub" is a  FidoNet  system  configured  as  the  central  answering
     system.   All  members  of  a "Net" would join the network in a "Star"
     fashion ie. they all call the same Hub (see "BBS address" below).


                                     (BBS)
                                       |
                                (BBS)  |  (BBS)
                                   \   |   /
                                    \  |  /

                           (BBS)---- (Hub) ----(BBS)

                                    /  |  \
                                   /   |   \
                                (BBS)  |  (BBS)
                                       |
                                     (BBS)


     A Hub can also call another Hub,  which would then link the  two  Nets
     together.   This  is  basically  how  a  message  base  can  be shared
     internationally.   There is no limit to how many BBS's  can  join  the
     network.   All  OutBound  FidoNet  files  use four dimension filenames
     created from the destination address.   The following are descriptions
     of the gadgets found in this window:

       OutBound  files  file  path:   This  is the OutBound files file path
     where all OutBound files are stored.   OutBound files  can  either  be
     picked  up  by  the  destination or the destination can be called (see
     "Phone numbers" below).

       InBound files file path:   This is the InBound files file path where
     all  InBound  files are stored.   InBound files are processed straight
     away by the "Message importer" (see "Force msg import").

       "* Origin":  This is the text that will appear in the origin line at
     the  bottom of every message originating from your BBS.   Normally you
     would put a comment here advertising  your  BBS.   Do  not  forget  to
     include your BBS phone number!

       BBS   address:    This   is   YOUR   BBS   address   in   the   form
     Zone:Net/Node.Point.   When you join a "Net" your network co-ordinator
     will allocate you with an address.   You must enter that address here.
     Here is an example address:

                                3:712/306.1

     Where  the  Zone  is "3" (Australia).   The Net is "712";  this is the
     "Net" that you belong to.   The Node is "306";  this is unique to your
     BBS  unless "Pointing" from another BBS.   The Point is "1";  your BBS
     address would normally have zero (0) for the  point  unless  you  have
     joined the "Net" through another BBS not a Hub.

       Sysop:   This is the name of the Sysop, enter your name here!   This
     is the name that will be logged when FidoNet sessions take place.

       Phone numbers:   Your BBS can be configured to dial another  FidoNet
     system (Hub) at any time.  This gadget contains the modem commands and
     phone number that are sent  to  the  modem  when  using  the  "FidoNet
     dialer".   You  must insert the modem dial command prefix and suffix. 
     If this gadget is empty then the  BBS  ignores  the  start  time  (see
     below).  Here is an example phone number:

                                ATDT024123280^M

     Where the "^M" is a control character specifier, see the "Text editor"
     for more information on control characters.

       Executes:   Your BBS can also be configured to execute a program  at
     any  time.   This gadget contains the program's filename and arguments
     (if any) you wish to execute.   If you wish,  you can use the AmigaDOS
     command  "Execute" to execute a script,  please refer to your AmigaDOS
     manual.

       Start times:  This is the 24 hour start time that the BBS will begin
     to  dial  a phone number or execute a program.   When you join a "Net"
     your network co-ordinator will allocate you with a dial  time.   If  a
     user is still online at this time they will be forced off the BBS even
     during a file transfer, including uploads (line 246 is given).  When a
     user  logs  on,  the BBS will compare the user's time remaining to the
     time before the  next  system  event.   If  the  user  has  more  time
     remaining than the time before the next system event,  then the user's
     time remaining will be adjusted and a waring will be given (line 245).
     The  BBS  will  remember  the  user's true time remaining for the next
     call.   The next system event will be taken into account when the user
     attempts to withdraw time from their time bank (BBS menu function 30 -
     Withdraw from the time bank).

       Max retries:   (Maximum retires)  This  is  the  maximum  number  of
     redial  attempts  that  the "FidoNet dialer" will try before exiting. 
     This value ranges from 1 to 500.

       Time out:  This is the time out value used for the "FidoNet dialer".
     This  value  will count down until it reaches zero (0),  in which case
     the "FidoNet dialer" will then try another redial attempt.  This value
     is in seconds and ranges from 1 to 500.

       Redial delay:   This is the amount of time that the "FidoNet dialer"
     will wait before attempting a redial.   This value is in  seconds  and
     ranges from 1 to 500.

       Fido  on:   This  is  the  24  hour  on  time for the time slot that
     reserves the BBS for FidoNet system callers only.  If this time is the
     same  as  the  "Fido  off" time (see below),  then the BBS will always
     accept human callers.   If a user tries to call in  the  FidoNet  only
     time slot,  then the message "FidoNet only, please call back..." (line
     261) is given.

       Fido off:   This is the 24 hour off time  for  the  time  slot  that
     reserves the BBS for FidoNet system callers only (see above).

       Future:  Undefined and reserved for future use.

       Auto  dialer:   This is the master enable switch for all three phone
     numbers and starting times.

       Auto execute:   This is the  master  enable  switch  for  all  three
     executes and starting times.

       Allow pickup:   This gadget enables/disables your BBS from accepting
     calls from another FidoNet  system.   If  turned  off,  the  BBS  will
     proceed straight into the logon text.  If turned on, the BBS will give
     the message "Hit <esc> twice or wait 30 seconds to enter  the  BBS..."
     (line  253).   The  BBS  distinguishes  the difference between a human
     caller and a FidoNet system caller by the initial response.  A FidoNet
     system  caller  will  send a control character to the answering BBS to
     start a FidoNet session.   A human caller will hit <esc> twice or wait
     30 seconds (time out).

       Allow send:   This gadget allows the old "TeLink" FidoNet systems to
     be sent their files when they call  your  system.   The  old  "TeLink"
     FidoNet  systems did not have password protection to stop fake systems
     from picking up other system's files.   If this gadget is  turned  off
     and  a  "TeLink"  FidoNet  system  calls your BBS,  then your BBS will
     happily accept files from the caller,  but will not send anything back
     and  hang-up.   This  is  regardless if they are a valid system in the
     "FidoNet mail distribution" window.  Note: This flag does not effect a
     "WaZOO" FidoNet system caller.

       Allow TeLink:  This enables/disables an old "TeLink" FidoNet session
     when answering an incoming call from another FidoNet system,  and when
     dialling another FidoNet system.  This was used for testing and should
     normally be turned on.

       Allow  WaZOO:   This enables/disables a "WaZOO" FidoNet session when
     answering an incoming call  from  another  FidoNet  system  and,  when
     dialling  another  FidoNet system.   If this flag is off,  the FidoNet
     session would normally fall back to the old "TeLink" FidoNet  session.
     This was used for testing and should normally be turned on.

       FidoNet only:   This stops human callers from using your BBS.   When
     turned on,  the BBS will only accept calls from other FidoNet systems.
     Use this gadget for a dedicated Hub FidoNet system.

       Show  ctrl  info:   (Show  control information)  This gadget is used
     when reading imported messages.   If turned on,  the BBS will show all
     the control information contained in an imported echo message.

       Update log:  This gadget enables/disables updates to the FidoNet log
     file.  All FidoNet transactions are logged with the date and time (see
     "Log files file path").


     FidoNet mail distribution:

     This window could be nick named the "Post Office".   This is where the
     echo  message sections are linked to echo mail "Area" names.   FidoNet
     message bundle files  contain  messages  which  are  categorized  into
     areas.   An  "Area"  is  a name or tag given to each message,  so that
     message importing programs (tossers) can  sort  the  InBound  messages
     into   the   local  BBS  message  base.    This  window  also  defines
     destinations and passwords of FidoNet systems.   Two  hundred  entries
     can  be  made,  which  should be plenty for most configurations.   The
     "FidoNet dialer" requires a destination address  to  be  defined.   If
     not,  the  "FidoNet  dialer"  will not respond to your dial requests. 
     Pseudo section numbers of 101,  102 and 103 are used to link  a  phone
     number with a destination address.   Section 101 means phone number 1.
     Section 102 means phone number 2.   Section 103 means phone number 3. 
     When  dialling  a remote FidoNet system,  the destination address must
     match the remote system's address to begin the  FidoNet  session.   If
     not, the session will abort.   Here are descriptions of the gadgets in
     this window:

       Sect:   (Section)  This gadget contains the echo message section you
     wish  to  link with the "Area" (see below).   The echo message section
     must have the "Ech" flag turned on.   It can  also  contain  a  pseudo
     section number for the "FidoNet Dialer" (see above).

       Area:  This gadget contains the "Area" name of the messages you wish
     to link with the above echo message section.   You can define your own
     "Area"  names if you wish to configure a private or new "Area",  or if
     you wish to use an existing "Area" then you can obtain  the  available
     "Area"  names  from  your  network co-ordinator.   This gadget must be
     blank when defining a phone number destination address.   "Area" names
     are always UPPER case.

       Dest  address:   (Destination  address)   This  gadget  contains the
     FidoNet destination address for new  and  imported  messages,  or  the
     FidoNet  destination  address  of  a  phone  number (see above).   The
     destination  address  is  in  the  format  Zone:Net/Node.Point.   This
     address would normally be your Hub,  or if you are configured as a Hub
     then the destination address would be the  FidoNet  systems  that  you
     support.   Note:  If  you  are  configuring a Hub then you will need a
     destination address for each FidoNet system that is  to  receive  that
     "Area"  (see  above).   Therefore,  one  "Area"  could  have  multiple
     destinations.

       Password:  This gadget contains the password that the calling system
     with the same FidoNet address as the FidoNet destination address, must
     have before your BBS will send their files.   When configuring a phone
     number entry,  this is the password that your BBS will send the remote
     FidoNet  system  (sections  101  to  103).   Passwords  are  not  case
     sensitive.

       LZH:   (Lharc)   This  gadget  is  used  to turn on the archiving of
     OutBound message bundle files.   The BBS uses the program  "Lharc"  to
     perform the archiving (see "FidoNet configure").  The OutBound message
     files can be archived at two different times.   They can  be  archived
     before  the  BBS  dials  a  remote  FidoNet  system  with the "FidoNet
     dialer".   In which case this gadget would be turned on for the  phone
     number  entry.   They  can  also  be archived at the end of a "Message
     import".   In which case this gadget would be turned  on  for  a  echo
     message  section  number entry.   Only the message bundle file for the
     above destination address is archived when this gadget is turned  on. 
     The BBS will generate a new archive for a destination once a day,  all
     archiving on the same day will be added to the existing archive.

       Top/Btm gadget:   (Top/Bottom)  Click on this gadget to move to  the
     first ten and last ten entries.



                            PULL DOWN MENU FUNCTIONS
                            ------------------------

     The  pull  down  menus  are divided into three menus.   The "BBS" menu
     contains general BBS functions.   The "Sysop" menu contains  functions
     to  do  with  maintenance  and  editing  of  the  data files (normally
     performed by the Sysop).  The "Config" menu contains all the functions
     associated  with  configuring  the BBS and BBS menus (see "Configuring
     the BBS").   Some or all of the  pull  down  menu  functions  will  be
     ghosted  when  either that function is in use,  or when it might clash
     with another function in use.   Some functions are only  used  when  a
     user is logged in.   If a "Carrier Detect" signal is received from the
     modem while  any  of  the  pull  down  menu  functions  are  activated
     (including a local login),  the BBS will notify you that a carrier has
     been detected.  You can either ignore it, or finish what you are doing
     and let the BBS answer the incoming call as usual.  If you do not want
     to be bothered by incoming calls then it is  best  to  turn  off  your
     modem  so that callers know that the BBS is offline.   This also stops
     the modem from accepting the call and wasting the caller's money.  The
     following  is a description of each pull down menu function as seen in
     the menus:


     BBS menu:


     Local login:

     This function starts a local BBS login session.   The local  login  is
     the  same  as  logging in from remote,  except the routines associated
     with the modem and serial port are deactivated.   Hence the  speed  at
     which  the  text  is printed is very fast ie.  there is no waiting for
     data to be sent out the serial port.   This will probably be the  most
     used  function as it is used to test and view the BBS menus when first
     setting up the BBS, and in reading and answering messages.  The "Twit"
     function is the quickest way the to exit the local login (see below).


     Chat on/off:

     This simply turns the BBS menu function 3 - Chat call, on and off.  At
     start-up  this  function is default on.   You can toggle the chat call
     function on and off at any time,  even when a user is logged  in.   If
     the  chat call function is switched off then the "Sysop is busy" (line
     39) message will be given when the user tries to page the Sysop.  This
     function  overrides  the  "Chat  on"  and  "Chat off" time slot in the
     "System configure" window.   Note:  A Sysop (access 5000) can page the
     local Sysop at any time regardless of the time or this flag.


     Chat interrupt:

     This function is only active when a user is logged in.   When  a  user
     has logged in you can use this function to chat interrupt at any time.
     This activates chat mode so that you can type to the user and they can
     type back to you.  You can also start the chat mode by hitting any key
     while a user is paging the Sysop using the BBS menu function 3 -  Chat
     call.   To  exit  chat  mode  the local Sysop must hit the <Esc> key. 
     Note:  The user can not exit chat mode.   After exiting chat mode  the
     BBS  will  continue  from  where the chat interrupt took place.   When
     typing to each other the character's colour changes depending  on  who
     is typing.  It is good practise to hit <Return> twice to signal to the
     other that you have finished typing and it is now the  other  person's
     turn.


     Countdown:

     This function is only active when a user is logged in.   If  for  some
     reason  you  need  to  force a user off the BBS but wish to do it in a
     nice way, then use this countdown function.   Once activated,  the BBS
     will give a warning message to the user (line 26), and the time set in
     the "System configure" window's countdown gadget will then become  the
     user's  time  remaining.   The  system  will  hang-up  when  the  time
     remaining reaches zero (0).   The time that  the  user  had  remaining
     before the countdown function was activated will be restored when they
     call back (or a new daily limit if it is a new  day).   The  countdown
     can  be reversed,  in which case the user's original time remaining is
     restored, and an appropriate message is given to the user (line 27).


     Printer/Output:

     This  function is only active when a user is logged in.   It opens the
     printer/output file for output.   When selected,  a window  requesting
     the  filename  of  the  output  file  is  opened.   The default output
     filename is "PRT:",  this is the AmigaDOS name for the  printer.   You
     can  also  send  the  output  to  disk by changing the filename in the
     requester.   Once the printer/output file is open,  everything seen on
     the  BBS  screen  will  be  captured  on disk or sent to the printer. 
     Selecting  this  function  again,   or  when  the  login  session   is
     terminated, will turn the printer off or close the output file.   This
     is handy when you want a hard copy of a message,  or  you  could  even
     monitor a complete session (if you have enough paper).


     Text import:

     This function is only active when a user is logged in (yourself).   It
     is  used  to  import text into the BBS from any text file.   It can be
     used at any time during login (including chat mode) but is intended to
     be used with the message editor.  Importing text is similar to hitting
     a macro key except the text is taken from an external text  file.   If
     you  are  using WorkBench 2.0 (or higher) the BBS will make use of the
     "asl.library"  file  requester  to  select  a  text  file.    If   the
     "asl.library"  is  not  available  then  you  will have to type in the
     filename and path into the small filename gadget that appears when you
     select this function.  Text will continue to be imported until the end
     of the text file is reached, or you re-select this function.


     TWIT:

     This function is only active when a user is logged in.  Selecting this
     will force the BBS to hang-up or "Twit" the current  user.   This  has
     been  named  "Twit"  because  it is intended to be used when a user or
     "Hacker" is abusing your BBS.   This is also a  quick  exit  from  the
     local login.


     Caller log:

     All users except Almighty Sysops (access 10000) are  recorded  in  the
     caller log file.   The caller log helps you locate a possible "Hacker"
     or to see if there has been any DOS read/write  errors.   Select  this
     function to view the caller log.  Use the arrow gadgets to move up and
     down in the caller log.  The log is viewed starting from the user most
     recently on the BBS.  The number of records in the log is specified in
     the "System configure" window, when this value is changed the log file
     is restarted.   Use the "Restart" gadget to restart the log file.  Use
     the "Top/btm" gadget to move to the top or bottom  of  the  log.   The
     caller log contains the following information:

                        User's name
                        Logon date & time
                        Logout date & time
                        Exit mode (see below)
                        Time used (minutes)
                        Number of messages read
                        Number of messages left
                        Number of uploads
                        Number of downloads
                        Connection bps rate
                        If attempted to page the local sysop (funct 3)
                        If used the CLI (funct 28)

     The user can exit the BBS in one of the following ways:

                        Normal (funct 1)
                        Slow bps rate (minimum bps rate)
                        User file full (new user)
                        Lost carrier
                        Security violation
                        Locked out (access = 0)
                        Out of time
                        Sleep disconnect
                        Twitted!
                        System event (FidoNet)
                        Forced hangup (auto insert %X)
                        DOS read error
                        DOS write error
                        Low memory error

     If  a  user  has  an access of zero then the user is locked out of the
     BBS,  any attempts to login will give the locked out message  and  the
     BBS  will hang-up!   A security violation can occur when a user enters
     the wrong password three times,  or when an attempt is made to  upload
     or  download a file with the filename "File.data".   This protects the
     BBS data file from being over written by another file  with  the  same
     filename (Hackers).  If a DOS read or write error has occurred then it
     is possible that the message base or file library has been  corrupted!
     Use the pull down menu functions "Optimize messages" and "Check files"
     in the "Sysop" menu to check the data files (see below).


     About. . .:

     This   function   will   open   a   window  with information about the
     version of M A X's BBS you have.   Included  in  this  window  is  the
     available "Chip" and "Fast" memory your system has.  If memory becomes
     low you may get low memory errors.    In which case you will  have  to
     free up memory or buy more RAM!


     Iconify:

     This function will close the BBS screen and open a small window in the
     WorkBench  screen.   When the BBS is iconified it can still be used by
     users!   To the user the BBS will look  no  different  whether  it  is
     iconified or not.   The advantage of iconifying the BBS is that "Chip"
     memory is freed up,  and the serial output is faster because  the  BBS
     does  not  have  to update the BBS screen.   When a user has logged on
     their name will appear in the small WorkBench window.   Click  on  the
     "Close  window"  gadget to close the small WorkBench window and to re-
     open the BBS screen.   The screen may look incomplete at first because
     all  screen output is lost when iconified.   You will have to wait for
     the screen to be redrawn,  especially when the user is using the  full
     screen  editor.   You  can iconify and re-open the screen at any time,
     even during a file transfer.  Note: During a file transfer or "Message
     import" the BBS may not respond to your request straight away,  but it
     will eventually (click once and wait).


     Quit:

     Selecting "Quit" will bring up a requester to confirm that you  really
     wish  to  exit  the program.   Selecting "Whoops!" will abort the quit
     request and return you back to the BBS,  just  in  case  you  selected
     "Quit"  by mistake.   Selecting "Okay" will cause the BBS to shut down
     and return to WorkBench or the "CLI" where it was originally started.


     Sysop menu:


     Add 15 mins:

     This function is only active after a user has logged in.   If you wish
     to increase the current user's time remaining without interrupting the
     user, then use this function.   Each time you select this function you
     will  add fifteen minutes to the user's time remaining.   A maximum of
     10000 minutes still applies, exceeding this will have no effect.   The
     time remaining will be set back to the daily limit when the user calls
     back the next day.   This function does not effect  the  user's  daily
     time limit.


     Online edit:

     This function is  only  active  when  a  user  has  logged  in.   When
     selected, it will freeze the current user and open a window similar to
     the "User editor" (see below).   You can edit any part of the  current
     user  including  their  name!   As this window is similar to the "User
     editor" the gadgets are not described here (see "User editor"  below).
     Once  you  have  finished  editing the current user,  click the "Close
     window" gadget to bring any changes into effect.   The user  can  then
     continue what they where doing before the interruption.


     User editor:

     This is a very powerful user editor.   When selected, the user file is
     loaded  into  memory  and  the  "User  editor" window is opened.   All
     editing of the user file is done in  memory  for  speed,  therefore  a
     large  user  file  is not recommended for standard 512K byte systems. 
     The size of the user file  depends  on  the  "Maximum  users"  in  the
     "System  configure"  window.   Once you have finished editing the user
     file either hit "Save" to save the changes,  or hit the "Close window"
     gadget to abort all changes.   There must be at least one user (you). 
     The "User editor" window also displays the date and time that the user
     was last on, and the total number of users deleted (see the "Inactive"
     gadget below).   The following are the descriptions of the gadgets  in
     this window:

       Up  and  Down arrows:   Use these gadgets to move to the next user. 
     The user file is in the logon order,  ie as new "Guest" users logon to
     your BBS they are appended to the user file.

       Name:  This gadget contains the user's name.  The user names must be
     unique, ie.  no two users can have the same name.   If the BBS finds a
     user  with the same name then the requester "User already exists" will
     appear and you can either "Edit" the name, or "Delete" that user.  The
     name field has a maximum of 40 characters.

       Suburb:   This  gadget contains the user's suburb.   You may wish to
     include a street name and number, it is up to you, ie.  change line 14
     in  the  "Text  editor" window.   The suburb field has a maximum of 39
     characters.

       Password:   This gadget contains the user's  password.   It  is  not
     recommended that you change the user's password unless asked to by the
     user.   Sometimes a user forgets their password.   The easiest way  to
     resolve  this  is to delete this user so that they can re-logon.   The
     password is always UPPER case.  When the user enters their password at
     logon  it is not case sensitive.   The password field has a maximum of
     20 characters.

       Phone #:   This gadget contains the user's phone number.   Edit line
     15  in  the "Text editor" window to ask the user to include area codes
     if you wish.  The phone number field has a maximum of 20 characters.

       Computer:   This gadget  contains  the  user's  description  of  the
     computer  they  use.   You can tell what files a user can use from the
     type of computer they have.   Sometimes users complain that  they  can
     not use a file from your file library,  a quick look here might reveal
     that the user is trying to use an Amiga file on an IBM!   The computer
     description field has a maximum of 20 characters.

       Time remaining:  This is the time remaining of the user's daily time
     limit.   The time remaining will  be  refreshed  to  the  daily  limit
     automatically when the user logs on on a new day.   Editing this field
     will only be in effect up until midnight on the day the user was  last
     on.  Maximum is 10000 and is in minutes.

       Access  level:   The  access  level  of the user must be the same or
     higher than the access level of a BBS menu function  before  the  user
     can  select  that function.   The access level of the user must be the
     same or higher than the  access  level  in  the  "Sections  configure"
     window before the user can use that section.   An access level of zero
     (0) means the  user  has  been  locked  out  of  the  BBS.   The  file
     "LockOut.text"  is  sent  to the user then the BBS will hang-up when a
     locked out user attempts to logon.   An access level of 5000  or  more
     means Sysop access!  A Sysop has certain privileges over normal users.
     Here is a list:

              Read all private messages in section 0
              Delete any message
              Lock messages
              Forward messages
              Edit users with lower access levels (see BBS menu funct 26)
              Download and read a "New" file
              Delete any file (see BBS menu funct 21)
              Download and upload at any time.
              Page the local Sysop at any time.
              Sees all real names when alias' are used

     An access level of 10000 (maximum) means Almighty Sysop!.  An Almighty
     Sysop has all of the above privileges plus:

              Not recorded in the caller log
              Edit any user (see BBS menu funct 26)

       Time  limit:   This  is the user's daily online time limit.   When a
     user logs on on a new day this value becomes their time remaining  for
     the  whole  day.   If  the  user  logs  on  on the same day,  the time
     remaining from the last login is used (see "User defaults").   Maximum
     value of 10000 and is in minutes.

       D/U  ratio:   (Download/Upload  ratio)   This  is  a download versus
     upload  ratio  to  help  prevent  users  downloading  files  and   not
     contributing  any uploads (file hogs).   If a user tries to download a
     file when their number of downloads  versus  uploads  is  higher  than
     their "D/U ratio" value,  then the message "You have exceeded your D/U
     ratio" (line 173) is given.   A value of zero (0) disables this check.
     Maximum  of  10000  and  is  in  actual  number  of  successful  files
     transferred.

       Lt ms rd:   (Last message read)  This is the highest message read by
     this  user.   It  is  used  by the BBS as a reference to check for new
     messages, ie. higher message numbers.  Note: This value is only stored
     at  a  normal  log  out  (see BBS menu function 1 - Log out).   If the
     message base has been lost or restarted then a global user  edit  (see
     below) should be done with this value to set it to the highest message
     in the BBS.

       Screen length:   This is the number of lines per page for this user.
     This is currently only being used in conjunction with the "Pause" flag
     (see below).   The BBS counts the number of lines since the last input
     or pause.   When it reaches this value  it  will  pause.   This  value
     ranges from 10 to 200.

       Calls:   This  is a count of the total number of calls this user has
     made.  Used for statistics only.   Note:  A local login is not counted
     as a call.

       Messages:   This  is a count of the total number of messages written
     by the user.  Used for statistics only.

       Uploads:   This is a count of the total number of  successful  files
     uploaded to the BBS.  Used with the "D/U ratio" (see above).

       Dnloads:   This  is  a count of the total number of successful files
     downloaded from the BBS.  Used with the "D/U ratio" (see above).

       Time bnk:   (Time bank)  This is the user's time bank balance.   The
     time  bank  is a means where the user can deposit and withdraw time to
     and from their daily time limit.   See BBS menu functions 29  to  31. 
     This value is in minutes and has a maximum of 10000.

       Protocol:   This is the user's default file transfer protocol.  This
     value can be use when a user wishes to  use  the  same  file  transfer
     protocol  all the time,  and therefore does not have to select it each
     time they use BBS menu functions 23 and 24.   Here is a list of values
     and the associated protocol:

                               0 - No default (BBS will ask)
                               1 - XModem
                               2 - XModem CRC
                               3 - XModem 1K
                               4 - YModem (batch)
                               5 - YModem-g
                               6 - ZModem

       Future:  Undefined and reserved for future use.

       Rd:   (Read  access  flag)   This  is  the  read  access  flag which
     specifies whether or not a user can read messages (regardless of their
     access level).

       Wr:   (Write  access  flag)   This  is  the  write access flag which
     specifies whether  or  not  a  user  can  write  or  leave  a  message
     (regardless of their access level).

       Up:   (Upload  access  flag)   This  is the upload access flag which
     specifies whether or not a user can upload files (regardless of  their
     access level).

       Dn:   (Download access flag)  This is the download access flag which
     specifies  whether  or  not  a  user can download files (regardless of
     their access level)

       Bltn:   (Bulletin read flag)  This flag is set by the BBS  when  the
     user has read the BBS news bulletin.  If this flag is not set when the
     user logs on, then the news bulletin text file is sent to the user and
     this  flag  is  set.   Use this flag and the "Global" edit gadget (see
     below) to force all users to read a new news bulletin.

       ANSI:   (ANSI on/off flag)  This flag is set by the user to tell the
     BBS whether or not to strip the ANSI colour codes from the text.

       FSE:   (Full  Screen  Editor  flag)  This flag is set by the user to
     tell the BBS whether or not the user wants  to  use  the  full  screen
     editor  to write messages.   Some terminal programs do not support all
     the ANSI codes required by the  full  screen  editor.   See  the  full
     screen editor help file called "FSEHelp.text".

       Pause:   (Pause  flag)  This flag is set by the user to tell the BBS
     whether or not to pause after every full screen (see  "Screen  length"
     above).

       Cls:   (Clear screen flag)  This flag is set by the user to tell the
     BBS whether or not to send the clear screen code "Form Feed"  (^L)  to
     the user.  Note: The full screen editor forces clear screen codes.

       Lck:   (Locked  user  flag)   This  flag is used to stop a user from
     being deleted when using the "Inactive" gadget (see below).

       GFD:   (Get File Descriptions)  This flag is set by the BBS  when  a
     file  has  been  uploaded  by one of the batch file transfer protocols
     (YModem or ZModem).   It is then reset when the user has  typed  in  a
     description  for  all  files  uploaded.   This  is useful for when the
     carrier is lost after the user manages to successfully upload  one  or
     more files.   When the user logs on next and this flag is set, the BBS
     will search the file library for any files that have been uploaded  by
     this user and are missing the file description.  The BBS will then ask
     for the missing file descriptions.  It can also be set by the Sysop to
     force a check.

       Mask:   These  flags  are  used  with  the "Global" edit gadget (see
     below).  When any one of these "Mask" flags are set, the flag or value
     next  to  it will become the global setting or value when the "Global"
     gadget is clicked.   Flags or values with their "Mask" flag turned off
     will not be changed in the global edit.

       Comment:   This  gadget  contains a comment,  or anything about this
     user.   This field is intended for your use only but it  can  be  used
     along with the auto insert feature "%j" (see "Customizing the BBS") to
     give individual and unique "one liners"  to  the  user.   The  comment
     field has a maximum of 99 characters.

       Top/Btm:  (Top/Bottom)  This gadget is used to get to the top of the
     user file if you are not already there,  or to the bottom of the  user
     file  if you are at the top.   This is useful to get to the top of the
     user file before performing a search (see below).

       Search:   This gadget will do a search from the current position  to
     the  end  of  the user file for a match with the text in the "Search:"
     gadget box.  The search is not case sensitive and will search all text
     fields, including the comment.  Partial strings can be used.

       Guests:   This  gadget will do a search from the current position to
     the end of the user file for users with the "Guest" access  level  (as
     defined  in  the "User defaults (Guest)" window).   Use this gadget to
     find and check new users.

       Member:   This gadget will set all the values and flags  defined  in
     the "User defaults (Member)" window into the current user's file.  Use
     this gadget to give any user a Member's status with one click!

       Add:  This gadget will append a new user to the user file.   The new
     user  will automatically have a Member's status,  and you will have to
     enter the user's name and details.

       Delete:   This gadget will delete the current  user  from  the  user
     file.   It  may be more appropriate to lock a user out (access 0) than
     to delete them.   Once deleted,  the user will have to re-logon  as  a
     Guest.  Note: You can not delete the first user (you).

      Inactive:   This gadget will delete all inactive users.   An inactive
     user is one that has not logged on the BBS for the amount of  days  in
     the  "Inactive:"  gadget box.   The number of days is from the current
     system date,  so be sure that your system clock is set to the  correct
     date!   The  default  inactivity  is ninety days (three months).   The
     "Lock" flag (see above) is used to stop a user from being  deleted  as
     inactive  (the  user  may  be  on  holidays or their computer is being
     repaired).  The "Total deleted:" number is how many users were deleted
     by  this  function  plus  the  number of users deleted by the "Delete"
     gadget (see above) if any.

       Global:   This gadget will do a  global  edit  of  all  users.   The
     "Global" edit gadget is used in conjunction with the "Mask" flags (see
     above).  When you do a global edit, each "Mask" flag that is turned on
     will have the flag or value next to it become the same for every user!
     You can do a global edit on  the  user's  access  level,  time  limit,
     download/upload ratio,  last message read, time bank value and all the
     flags.

       Purge:   This gadget will purge or delete all users except the first
     (you) in the user file.  It will also reset the "Total calls" count to
     zero.

       Save:   This gadget will save all changes (if  any)  permanently  on
     disk.   If  you  wish  to  exit  the  "User editor" without saving the
     changes then hit the "Close window" gadget instead.


     Files editor:

     This  is  a  powerful  file library editor.   When selected,  the file
     library data file is loaded into memory and the "Files editor"  window
     is  opened.   All  editing  of  the  file library data file is done in
     memory for speed,  therefore a large file library is  not  recommended
     for  standard  512K  byte systems.   The size of the file library data
     file depends on the "Max" value for each file section,  added together
     in the "Sections configure" window.  A file library of 300 files would
     need a data file of about 60K bytes.   Once you have finished  editing
     the  file  library  either hit "Save" to save the changes,  or hit the
     "Close window" gadget to abort all changes.   You must have  at  least
     one  valid file section (see "Sections configure") to use this editor.
     When you first select the "File editor" a check of the sections  count
     is  done.   If  a  discrepancy  is found a "File sections count error"
     requester will be given.  A "File sections count error" can occur when
     the  data  file  is corrupted due to a DOS read/write error;  you will
     have to restart (purge) the file library.

     The "Files editor" window displays the name of the  section  that  the
     file is in.  If a file is deleted then the section name will change to
     "** Deleted **".   Files which are deleted by the BBS menu function 21
     - Delete a file,  are deleted from disk at the time of that function. 
     Files which are deleted using the "Delete" gadget (see below) are  not
     deleted on the disk until the "Save" gadget is used.  This gives you a
     chance to change your mind.   All deleted files will be  removed  from
     the  file  library  data  file  when the "Save" gadget is used.   This
     window also displays the time that the file was uploaded,  the size of
     the  file  and the number of times that the file has been downloaded. 
     Note: If a file is "New" ie. not public, then the download number will
     be displayed as "New".   The two filenames above and below the current
     file are display and are colour coded as followed:

                                Cyan - Normal
                               Green - Locked
                              Yellow - New
                                 Red - Deleted

       The following are descriptions of all the gadgets in this window:

       Up and Down arrows:   Use the "Arrow" gadgets to move  to  the  next
     file.   The file library data file is in uploaded order, ie.  as files
     are uploaded or added they are appended to the data file.

       Section #:   This gadget contains the section number.   Changing the
     section number here will move the file to another section,  similar to
     forwarding a message.   Only valid file sections can be  entered  (see
     "Sections configure").

       Lock:   (Lock flag)  This is the gadget used to roll lock the file. 
     As a file section becomes full ie. maximum files, the oldest file will
     be  deleted to make room for the new file.   Set this flag to stop the
     file from being roll deleted.  It also stops the user who uploaded the
     file  from  deleting it using the BBS menu function 21 - Delete a file
     (see "BBS menu functions").

       Filename:   This gadget contains the filename.   If you  change  the
     filename  of  a  file in the data file you must remember to change the
     filename of that file on disk!   If you do not match the filename with
     the  filename  of  the file on disk,  the "File not online" (line 164)
     message will be  given  when  a  user  tries  to  access  that  file. 
     Filenames  must  be  unique  and are not case sensitive.   The maximum
     characters in this field is 40.

       Description:   This gadget contains the description  of  the  file. 
     File descriptions are typed in by the user as they are uploaded.  If a
     file description is missing,  which can occur when the carrier is lost
     during a batch upload, use the "Get File Descriptions" flag (see "User
     editor").   The "Get File Descriptions" flag will be set automatically
     by  the  BBS  if the carrier is lost.   The maximum characters in this
     field is 59.

       From:   This gadget contains the name of the user who  uploaded  the
     file.  If a file is added (see below) then the Sysop name in the "Text
     editor" line 0 is used in this field.   The maximum characters in this
     field is 40.

       Alias:   This  gadget contains the alias used by the user (if any). 
     When files are listed and an alias exists,  then the alias is used for
     the uploader's name.  The maximum characters in this field is 40.

       Top/Btm:  (Top/Bottom)  This gadget is used to get to the top of the
     files,  or to the bottom of the files if you are already at the  top. 
     This  is  useful  to  get  to the top of the files before performing a
     search (see below).

       Search:   This gadget will do a search from the current position  to
     the end of the files for a match with the text in the "Search:" gadget
     box.  The search is not case sensitive and will search all text fields
     of each file.  Partial strings can be used.

       New:   This gadget will do a search from the current position to the
     end  of the files for "New" files.   A "New" file is one that has been
     uploaded and not cleared using the "Public" gadget (see  below).   You
     can make all new uploads public by setting the "New files public" flag
     in the  "System  configure"  window.   All  "New"  files  can  not  be
     downloaded  or  read  until  made  public.   This  is  useful  to stop
     copyright material from being uploaded and downloaded before  a  Sysop
     can check/delete it.   Note: Sysops (access 5000) can download a "New"
     file.

       Public:   This gadget will make a "New" file (see above)  accessible
     to normal users.

       Add:   This gadget will add a new file.  Added files are appended to
     the file library data file.   If  you  are  using  WorkBench  2.0  (or
     higher)  the  BBS will make use of the "asl.library" file requester to
     select a file.   If the "asl.library" is not available then  you  will
     have  to  type  in  the  filename.   When using the "asl.library" file
     requester,  and the file you have selected is not in one of the  three
     files  file  paths,  then  it is automatically copied from the current
     path into the files file path #1.   The file must be found in  one  of
     the  three  files  file  paths (see "System configure") before you can
     continue.   If not found,  the BBS will bring up  a  requester  saying
     "Can't find that file".   You can either "Delete" that file, or select
     "Whoops!" to edit the filename or select another file.   Once the file
     is found,  the BBS will then fill in the size of the file.   Files are
     added to the first valid file section found,  it is up to you to  move
     them  into  the  correct  file  section.   You  must  also type in the
     description of the file.   The Sysop name (line  0)  is  used  as  the
     "From:" name.

       Delete:  This gadget will delete the current file.  The section name
     will change to "** Deleted **" when a file is deleted.   The  file  is
     removed  from the files library data file,  and deleted from disk when
     the "Save" gadget is used (see below).   You can effectively un-delete
     a file by exiting the files editor using the "Close window" gadget.

       Purge:   This  gadget  will  purge  or delete every file in the file
     library!   It is used to  restart  your  file  library  (see  "Delete"
     above).

       Save:   This  gadget  will  save all changes (if any) permanently on
     disk.   If you wish to exit the  "Files  editor"  without  saving  the
     changes,  then  hit the "Close window" gadget instead.   Deleted files
     will be deleted from disk when saving.


     Check files:

     This function performs a check of your file library.   When  selected,
     the  file library data file is loaded into memory and a sections count
     check is made.   If a discrepancy is  found  a  "File  sections  count
     error"  requester  will  be given.   A "File sections count error" can
     occur when the data file is corrupted due to a DOS  read/write  error;
     you  will have to restart (purge) the file library (see "Files editor"
     above).   After the sections  count  check,  the  "Checking  files..."
     window  is  opened.   As each file is checked,  it's name and size are
     shown in this window.  The filename is firstly checked to see if it is
     unique.   If not, a requester "File already exists" will be displayed,
     click on "Continue" when ready.   A check is then made to see  if  the
     file actually exists in one of the three files file paths.   If not, a
     requester "Can't find that file" is displayed.  You can either "Retry"
     or skip this file and "Continue".  A file may not exist because it has
     been deleted from disk,  or the file has been renamed on disk but  not
     in  the data file,  or visa versa.   A file size check is also made to
     check that the size of the file on disk is the same as the  file  size
     in the data file.   If the file sizes do not match,  then a "File size
     has changed" requester is given.   You can then either skip this  file
     and "Continue",  or click on "Fix it!" to correct the size of the file
     in the data file.   The file size may change if the file has been over
     written,  or  if  the  file  was  archived  (compressed)  after it was
     uploaded.  A check is now made to see if the file size is too large as
     specified  in the "System configure" window.   In this case a "File is
     too big" requester warning is given, hit "Continue" when ready.  After
     the  file  check  is completed,  changes in the data file are saved on
     disk (if any).   Another final check is then made to find  lost  files
     that  may  exist in one of the three files file paths,  but not in the
     file library data file.   A requester "Lost file" will let you know if
     any are found, click on "Continue" when ready.  Hit the "Close window"
     gadget at any time to abort the file check.


     Optimize messages:

     This  function  will  load  all  the  message  files into memory to be
     optimized. Because of the nature of all disk file systems, any file on
     a  disk  can  grow  in  size  but  never shrink unless completely over
     written by a new file.   Therefore when new messages are saved in  the
     data base, the BBS will try to store the message in the space taken up
     by a deleted message.   If the BBS can not find a space big enough  to
     fit the message, or there are no deleted messages, then the message is
     appended to the message files.   The message files  are  optimized  by
     loading  them  into  memory,  removing all deleted messages and unused
     space,  and then saving them back on disk.   Of course the larger  the
     message base the more memory required to use this function.   When the
     optimizer has finished,  a requester will let you know how many  bytes
     of  disk  space was saved (if any).   The message base is also checked
     for possible corruption due to DOS read/write errors,  if this is  the
     case then the message base will have to be restarted.


     PURGE MESSAGES:

     This function will purge all or  parts  of  the  message  base.   When
     selected the "PURGE MESSAGES" window is opened.   All deleted messages
     can not be restored, so use this function with caution.  This function
     would  normally  be  followed by the "Optimize messages" function (see
     above).  The following are descriptions of the gadgets in this window:

       "Section:":   This gadget contains  the  message  section  that  the
     "Received" and "Section" gadgets (see below) act on.

       Received:   This  gadget  will  delete  all  messages that have been
     received or read by the user that they are addressed to.  It will only
     effect  the  section that the "Section:" gadget (see above) contains. 
     This is useful to clean up the private message section  (section  0). 
     Note: Locked messages will not be deleted.

       Section:   This  gadget will delete an entire message section.   The
     section is specified in the "Section:" gadget (see  above).   This  is
     useful if you rename a message section,  or wish to remove an inactive
     message section.

       Restart:   This gadget will restart the message base.   All messages
     are lost!  Use with caution.


     Force FidoNet:

     This menu function will bring up a sub menu with the phone number  you
     wish  to  force.   The  BBS will normally auto dial your FidoNet phone
     numbers at the specified time (see "FidoNet configure").


     Force execute:

     This  menu  function  will bring up a sub menu with the program number
     you wish to force.   The BBS will normally auto execute your  programs
     at the specified time (see "FidoNet configure").


     Force msg import:

     This menu function will force a "Message import".  Normally a "Message
     import" will be done when a file is received during a FidoNet session.
     The InBound FidoNet files file path is checked for  message  bundles. 
     If  a message bundle is found it will extract the bundle using "Lharc"
     (which should be found in your "C" directory) if necessary.   It  will
     then read in each message bundle and process the messages contained in
     the file,  according to the "FidoNet mail distribution"  window.   The
     "Message  import" will continue until no more message files are found.
     It will then archive the OutBound message  bundles  using  "Lharc"  if
     required  (if  any).   The program "Lharc" is available from most good
     Amiga BBS's and is written by Paolo Zibetti.   M A X's BBS was  tested
     with  "Lharc"  version  1.30  but  should  work with versions 1.30 and
     later.   During a "Message import" the  "DTR"  signal  is  dropped  to
     prevent the modem from answering any incoming calls.


     Config menu:

     See the chapter "Configuring the BBS" for the use and  description  of
     this pull down menu.



                               BBS MENU FUNCTIONS
                               ------------------

     The  BBS  menu  functions are the functions available to the users who
     have logged on your BBS.   The BBS menus are configured in  the  "Menu
     editor" window (see "Configuring the BBS").  Each function is numbered
     and selected by the user with a single key press.   All BBS menus have
     "Hot  keys".   A "Hot key" means that the key can be pressed while the
     menu is being printed/sent.   As users become familiar with  your  BBS
     menus,  they  can  use  the  "Hot keys" to select the desired function
     without having to wait for the menu to be  drawn.   Pressing  "Return"
     will  reprint/resend the current menu.   Some functions have their own
     sub menus,  in which case the key presses are fixed  and  can  not  be
     changed.   The  sub  menus  have  text  files which can be edited (see
     "Customizing the BBS).   Some functions require  extra  parameters  to
     work  -  these  are  entered  in  the "Extra" and "Filename/Name/Dest"
     gadgets in the "Menu editor".   If a  function,  when  selected,  just
     returns  (reprints/resends  the current menu),  then you have probably
     entered a bad parameter or section.   Users  must  have  the  same  or
     higher access to be able to select that menu function.   Each menu has
     a separate text file which is what is seen by the user.   You can hide
     parts  of  menus,  or  parts  of any text file from users depending on
     their access level by using the "@n" code (see "Customizing the BBS").
     Sample  menus are supplied with the BBS.   You can use these or change
     them to suit your needs and imagination (see "Customizing the  BBS"). 
     All  BBS  menu  functions  will accept "S" to stop or "Space" to pause
     (hit any key to continue) when listing, or printing a text file.   The
     file  "MenuFunctions.text"  is  a  summary  of  the BBS menu functions
     currently available.   Print out this file and have it with you  as  a
     quick  look-up for editing the menus.   The following are descriptions
     for the BBS menu functions:


     Function 1 - Log out:

     This function is used by the user to log out and finish the session on
     the BBS.   When selected the "last message read" by the user is stored
     in the user file.   Any other method of exiting the BBS (lost carrier,
     Twitted etc) will not store/remember the "last message  read"  by  the
     user.   If you are reading your messages quickly,  and you do not wish
     to answer them during this login,  then "Twit" yourself  so  that  the
     "last message read" is not updated.   You can return to those messages
     during your next login.  If a user looses the carrier for some reason,
     they  can  return  to their messages at the next login.   This file is
     printed/sent when logging out:

                                LogOut.text

     Note:  Pause is forced off when printing/sending  this  file  and  the
     "LogIn.text" file.  The BBS will then hang-up on the user (by dropping
     the "Data Terminal Ready" signal).   Also note that If another program
     has also opened the "serial.device" in shared mode,  then the BBS will
     not be able to drop the "DTR" signal until the  other  program  closes
     the "serial.device".


     Function 2 - Goto menu: (Menu #)

     This function will "Goto" the menu number in the "Extra"  gadget.   If
     the  BBS  can  not  find  that  menu number then it will return to the
     current menu.  This is how you move from one menu to another.


     Function 3 - Chat call: (# of plays)

     This function is used to call or page the local Sysop for a chat.   If
     "Chat On/Off" is turned off (see the pull  down  menu  function  "Chat
     On/Off"), then it will give the "Sysop is busy" (line 39) message.  If
     the current system time is not in  the  time  slot  specified  in  the
     "System  configure"  window,  then  the  "Sysop is not available,  try
     between..." (line 40) message is given.  If "Chat On/Off" is on and is
     in  the  right time slot,  then the chat sound sample is played.   The
     "Extra" gadget contains the number of times the chat  sample  will  be
     played.   While  the chat sample is being played,  the local Sysop can
     hit any key to enter chat mode.   To exit chat mode  the  local  Sysop
     must  hit the <Esc> key.   If no key is hit and the sample is finished
     being played then the "Sysop may chat interrupt  later..."  (line  38)
     message  is  given.   When  a user has paged the Sysop their name will
     turn red so that you can see that they have tried to call you.   Note:
     Sysops (access 5000) can page the local Sysop at any time.


     Function 4 - Set ANSI flag:

     This function allows the user to set their "ANSI" flag.   When  turned
     on, the BBS will send all ANSI colour codes.  When turned off, the BBS
     will automatically strip the  ANSI  colour  codes.   Forced  at  first
     "Guest" logon.


     Function 5 - Set CLS flag:

     This function allows the user to set their "CLS"  flag.   When  turned
     on,  the BBS will send the "Form Feed" (^L) code to clear the screen. 
     When turned off,  the BBS will strip the "Form Feed" code and send two
     "Carriage Return"'s instead.  Forced at first "Guest" logon.


     Function 6 - Set pause flag:

     This function allows the user to set their "Pause" flag.   When turned
     on,  the  BBS will pause when the user's screen is full.   When turned
     off,  the BBS will not pause.   Note:  You can force a pause using the
     auto  insert  code "%Z" (see "Customizing the BBS").   Forced at first
     "Guest" logon.


     Function 7 - Set Full Screen Editor flag:

     This  function allows the user to set their "Full Screen Editor" (FSE)
     flag.  When turned on, the full screen editor will be used for writing
     messages.  When turned off, the normal editor will be used for writing
     messages.  Forced at first "Guest" logon.


     Function 8 - Change # of lines per screen:

     This  function allows the user to set the number of lines per screen. 
     Used by the BBS to pause when the screen is full.   You can only enter
     values from 10 to 200.  Forced at first "Guest" logon.


     Function 9 - Change suburb:

     This function allows the user to change the suburb field of their user
     file.  Forced at first "Guest" logon.


     Function 10 - Change phone number:

     This function allows the user to change  the  phone  number  field  of
     their user file.  Forced at first "Guest" logon.


     Function 11 - Change computer description:

     This function allows the user to change the computer description field
     of their user file.  Forced at first "Guest" logon.


     Function 12 - Change password:

     This function allows the user to change their password.   The password
     is always invisible,  echoed as "." for each character.   The BBS will
     ask for the password to be typed again for verification before  making
     the change of password.  Forced at first "Guest" logon.


     Function 13 - Type a file (Filename):

     This function will print/send a text file.   The filename and path  is
     in the "Filename/Name/Dest" gadget.


     Function 14 - Type a file without pause (Filename):

     This function will print/send a text file  without  pausing  for  each
     full  screen,  whether  the  user's  "Pause" flag is set or not.   The
     filename and path is in the "Filename/Name/Dest" gadget.


     Function 15 - Print text (Line #):

     This  function  will  print/send a line of text from the text editor. 
     The "Extra" gadget contains the line number.  Use only the blank lines
     starting  from  the  last  line  upwards,  because as new upgrades are
     released they  will  use  the  next  blank  line  and  downwards,  and
     therefore will overwrite your text.


     Function 16 - Leave a message (Section, [Name])

     This a powerful function.   This function will let the user  edit  and
     save a message to a message section.   The user must have write access
     (the "Wr" flag) to use this function.  The "Extra" gadget contains the
     section in which the message will be stored.  The "Filename/Name/Dest"
     gadget contains an optional user name for whom the  message  is  for. 
     When  selected,  if the "Filename/Name/Dest" gadget does not contain a
     user name then the current user will be asked to enter the name of the
     user  the message is addressed to.   The user file is then searched to
     see if the user exists.  If the user does not exist they will be asked
     to  continue  or  abort.   The  user will then be asked to type in the
     subject of the message.   After the subject is  typed  in  either  the
     normal  editor  or the full screen editor will be started depending on
     the "FSE" flag.   A "Carriage Return" on a blank line will take you to
     the sub menu from the normal editor, or pressing <Esc> twice will take
     you to the sub menu  from  the  full  screen  editor.   The  sub  menu
     contains list,  edit, save, abort etc.  commands.   The sub menu has a
     text file called:

                                MsgEdMenu.text

     See the message editor help files for descriptions  of  the  sub  menu
     commands and the full screen editor called:

                                MsgEdHelp.text
                                FSEHelp.text


     Note: The sub menu "(M)ove msg" command will only let the user see and
     use  message sections which the user has access to.   If replying to a
     message in an anonymous message section  ie.  "To"  and  "From"  flags
     turned  off,  then the user is not allowed to move that message into a
     different message section that may show who the message is  to.   This
     is a security measure.


     Function 17 - Read messages (Section, 100, 101 and 102 = linked)

     This a another powerful function.   This function will  let  the  user
     read messages from a message section.   The user must have read access
     (the "Rd" flag) to use this function.  The "Extra" gadget contains the
     section which the messages are read from.   Sections 100,  101 and 102
     mean linked message sections,  all sections  with  the  "Linked"  flag
     turned on are included in the message read (see "Sections configure").
     Section 100 means all linked  local  message  sections.   Section  101
     means all linked echo message sections.  Section 102 means both linked
     local and echo message sections.   Of course,  only the sections which
     the user has access to are used in the linked message sections.   When
     selected the message read sub menu is used  to  select  the  order  in
     which the user wishes to read the messages.   The first sub menu has a
     text file called:

                                MsgRdMenu.text

     See the message read help file for descriptions of the first sub  menu
     commands called:

                                MsgRdHelp.text

     The  second  sub  menu  seen  when the user selects "(S)earch msgs" is
     called:

                                MsgSearchMenu.text

     When a message is displayed the "From" and "To"  fields  are  optional
     and  are  set  in  the  "Sections  configure" window.   When searching
     messages the "From" and "To" flags must be turned on to be included in
     the search.   The user has the following options after the message has
     been printed/sent:

       (-) Read previous:   (if any)  This lets the user read the  previous
     message  or the message that the current message is a reply to.  Note:
     If the message has been deleted then the "Message not found" (line 83)
     message  is  given.   If the message is private (Section 0) and is not
     addressed to or from the user,  then the "Message  is  private"  (line
     111)  message  is  given.   A  "Carriage  Return"  will  return to the
     original message.

       (+) Read reply:  (if any)  This lets the user read the reply to this
     message.   If there is more than one reply then the BBS will only show
     the first one it finds.   If you wish to read  all  the  replies  then
     select "(T)hreads" from the sub menu.   Note:  If the message has been
     deleted then the "Message not found" (line 83) message is  given.   If
     the message is private (Section 0) and is not addressed to or from the
     user,  then the "Message is private" (line 111) message is  given.   A
     "Carriage Return" will return to the original message.

       (B)efore:   This  command allows the user to go back to the messages
     that they were reading before.   It has a ten message history and when
     you  have  reached  the  tenth  message selecting "(B)efore" will only
     reprint the tenth message.   A "Carriage Return" will  return  to  the
     original message.

       (N)ext:  This allows the user to continue to the next message in the
     order selected in the sub menu.   A "Carriage Return" will also do the
     same.

       (C)ontinuous:  This lets the user read messages continuously without
     waiting  for  a  response  from  the  user.    Page  full  pausing  is
     automatically  disabled.   This command will continue until the end of
     the messages is reached, or "(C)ontinuous" is pressed again.

       (A)gain:  This will reprint/resend the current message.

       (R)eply:  This will let the user reply to the message.   The "From",
     "To",  and  "Subject"  fields  will automatically be filled in.   This
     command is similar to the BBS menu function 16 - Leave a message  (see
     above), the user will return to the sub commands when finished writing
     the reply.

       (M)ark:  This will let the user mark/un-mark the current message for
     later  retrieval.   Messages  are  automatically marked when the logon
     mail search is performed.

       (D)elete:  This will let the user delete the message.  Messages "To"
     or  "From"  that  user can be deleted by the user only if the "Delete"
     flag is turned on in the  "Sections  configure"  window,  and  if  the
     message  is  not  locked.   Note:  Sysops (access 5000) can delete any
     message.

       (L)ock:  This is a Sysop command to roll lock/un-lock this message.

       (F)orward:   This is a Sysop command to  forward  a  message.   This
     command  lets  you  forward  a  message to another user and/or message
     section and allows you to change the subject of  the  message.   Note:
     You can not forward a message into an echo message section.

       (E)dit:   This is a Sysop command used to edit the user file of  the
     person  who wrote the message.   Similar to the BBS menu function 26 -
     Edit a user (see below).

       (S)top:   This will let the user stop reading messages and return to
     the BBS menu.


     Function 18 - List/Search user file:

     This function will let the user either list all the users in the  user
     file in alphabetical order, or search for a user by entering a name or
     text search string.   The search is not  case  sensitive  and  partial
     strings are accepted.


     Function 19 - Print caller log:

     This function will let the user view the caller log.  It is similar to
     the pull down menu function "Caller log".   Note: If an alias is used,
     then it is possible for a user to find the true name of  the  user  by
     viewing the caller log.


     Function 20 - List files (Section, 100 = linked):

     This function will list the files in  a  file  section.   The  "Extra"
     gadget contains the file section.   Section 100 means linked sections,
     all sections with the "Linked" flag turned  on  are  included  in  the
     listing (see "Sections configure").   Only the sections which the user
     has access to are used in the linked  sections.   When  selected,  the
     list  files  sub  menu  is  used to select the order in which the user
     wishes to list the files.  The sub menu has a text file called:

                                ListFilesMenu.text

     See the list files help file for descriptions of the sub menu commands
     called:

                                ListFilesHelp.text


     Function 21 - Delete a file (Section, 100 = linked):

     This function will let the user delete a file which they have uploaded
     only  if  the  "Delete"  flag is turned on in the "Sections configure"
     window,  and if the file is not locked.   The "Extra" gadget  contains
     the  file  section.   Section 100 means linked sections,  all sections
     with the "Linked" flag turned on are included in the  search  for  the
     file  to  delete  (see "Sections configure").   Partial strings can be
     used for the filename search.  If a partial string is used and the BBS
     finds a match,  then the user is asked "Is this correct?" (line 256). 
     Select either "Y" for yes,  "N" for no or "S"  to  stop  the  search. 
     Note: Sysops (access 5000) can delete any file.


     Function 22 - Read a file (Section, 100 = linked):

     This function lets the user read a file from the  file  library.   The
     "Extra"  gadget  contains the file section.   Section 100 means linked
     sections,  all sections with the "Linked" flag turned on are  included
     in  the  search  for  the file to be read (see "Sections configure"). 
     Partial strings can be used for the filename  search.   If  a  partial
     string  is used and the BBS finds a match,  then the user is asked "Is
     this correct?" (line 256).   Select either "Y" for yes,  "N" for no or
     "S"  to stop the search.   The BBS will first check the file to see if
     it is a printable text file.  If the file is not a printable text file
     then  the  message "Not a printable file" (line 196) is given.   Note:
     "New" files can not be  read  by  users  (except  Sysops)  until  made
     public.


     Function 23 - Upload files (Section):

     This function lets the user upload a file to your file  library.   The
     term "Upload" is used because the host computer ie. M A X's BBS is the
     master computer,  and can be considered as on  a  higher  level.   The
     user's  computer  is  the slave computer and can be considered as on a
     lower level.  Therefore an upload is a file going from the lower level
     computer  (the user's),  to the higher level computer (the BBS).   The
     term download (see BBS menu function 24  -  Download  a  file,  below)
     means  a  file going from the higher level computer (the BBS),  to the
     lower level computer (the user's).   The "Extra" gadget  contains  the
     file section in which the file is going to be stored.  A user can only
     upload a file when they have upload access (the "Up" flag).   The user
     can  only  perform  file transfers in the time slot set in the "System
     configure" window.  When selected and the user does not have a default
     file transfer protocol (protocol 0), then a sub menu is used to select
     the file transfer protocol to use for the upload.   The sub menu has a
     text file called:

                                ProtocolMenu.text

     See the protocol help file for descriptions of the protocols available
     called:

                                ProtocolHelp.text

     If the user runs out of time during an upload then the BBS  will  wait
     until the transfer is finished, and add one extra minute to the user's
     time remaining for every file uploaded.   This allows the user time to
     enter  the  file  description.   After  a  file  or  files  have  been
     transferred the BBS will  ask  the  user  for  a  description  of  the
     file(s).   If  the  user  exits the BBS (lost carrier) before the file
     description is entered for all files,  then the BBS will ask the  user
     for  the file description(s) during the next login (see the "GFD" flag
     in the "User editor").  Also see "File transfer" below.  Note:  Sysops
     (access 5000) can upload a file at any time.


     Function 24 - Download files (Section, 100 = linked, [Filename]):

     This function lets the user download a file from  the  file  library. 
     This  will  probably  be  the most used function.   The "Extra" gadget
     contains the file section.   Section 100 means  linked  sections,  all
     sections  with  the "Linked" flag turned on are included in the search
     for the file to be downloaded  (see  "Sections  configure").   Partial
     strings  can be used for the filename search.   If a partial string is
     used and the BBS finds a match,  then  the  user  is  asked  "Is  this
     correct?" (line 256).  Select either "Y" for yes, "N" for no or "S" to
     stop  the  search.    An   optional   filename   can   used   in   the
     "Filename/Name/Dest" gadget.   When the filename is given the BBS will
     skip the filename search and proceed straight into the file  transfer.
     The file must be found in one of the three files file paths.  The file
     does not have to be in the file library data file.   If the file is in
     the file library data file, then the download count will be updated on
     completion of the download.  A user can only download a file when they
     have download access (the "Dn" flag).   The user can only perform file
     transfers in the time slot set in the "System configure"  window,  and
     can  only  download  a file if their download/upload ratio allows (see
     "User editor").   The user can not download "New" files until they are
     made  public,  and can only download a file when they have enough time
     remaining for the transfer.  When selected, and the user does not have
     a default file transfer protocol (protocol 0), then a sub menu is used
     to select the file transfer protocol to be used for the download.  The
     sub menu has a text file called:

                                ProtocolMenu.text

     See the protocol help file for descriptions of the protocols available
     called:

                                ProtocolHelp.text

     With the batch file transfer protocols (YModem,  ZModem) a maximum  of
     ten  files  can  be  downloaded in a batch.   Also see "File transfer"
     below.   Note:  Sysops (access 5000) can download any  file  including
     "New" files at any time.


     Function 25 - Make "New" file public (Section, 100 = linked):

     This function allows the user (Sysop) to make a  "New"  file  publicly
     available  to  normal  users.   The  "Extra"  gadget contains the file
     section.   Section 100 means linked sections,  all sections  with  the
     "Linked"  flag turned on are included in the search for the file to be
     made public (see "Sections configure").   Partial strings can be  used
     for  the  filename  search.   If  a partial string is used and the BBS
     finds a match,  then the user is asked "Is this correct?" (line 256). 
     Select either "Y" for yes, "N" for no or "S" to stop the search.


     Function 26 - Edit a user:

     This function allows the user (Sysop) to edit  another  user's  file. 
     The BBS will ask the current user for the user's name to edit, and the
     user file is searched.  If the user is not found then the BBS will ask
     for the name of the user again.  When the user that is being edited is
     found,  their user file is displayed.   The editor is similar  to  the
     other  user  editors,  so  only a brief description is given here (see
     "User editor").   The BBS will ask for which line  to  edit  or  enter
     options  "m"  to  make  the  user  a  Member,  "x" to exit (aborts any
     changes) and "s" to save changes.   For security reasons when  editing
     the  user's access level,  the access level can only be lower than the
     current users access level.  Also the current user can not edit a user
     with  the  same or higher access as they have.   When editing a user's
     flags use "*" to set the flag,  "-" to clear the flag and "." to leave
     the  flag  as  is.   Partial flag edit lines are accepted.   Note:  An
     Almighty Sysop (access 10000) can edit any user and  give  any  access
     level.


     Function 27 - Execute external program (1 = args, Filename):

     This function will execute an external program.  If the "Extra" gadget
     contains  a "1" then the arguments (see below) are added to the end of
     the filename.   The gadget "Filename/Name/Dest" contains the  filename
     and path of the file to be executed.  This function is intended to run
     external games and utilities.   To write a program for  this  function
     the  program must open the serial device in shared mode.   The program
     can choose whether or not to use the  following  arguments  (an  ASCII
     string  appended to the filename with arguments separated with a space
     and null terminated):

       "User name  (spaces  changed  to  underscore),  Access  level,  Time
     remaining,  Bps rate, Page length, Line feeds (always Y), local (Y/N),
     ANSI (Y/N), Pause (Y/N), Cls (Y/N)"

     Here is an example argument line:

                        M_A_X 10000 120 9600 28 Y N Y Y Y

     The external program must  keep  track  of  time  remaining  and  lost
     carriers.   When  the program returns to the BBS,  the BBS will make a
     time remaining adjustment (going by the change in the system clock, if
     any) to the user, and  will hang-up if out of time.


     Function 28 - CLI:

     This function allows the user (Sysop) to  use  the  AmigaDOS  commands
     similar  to  the Amiga's "CLI".   This function works in the following
     way;  after you have entered the command,  the BBS will  execute  that
     command  and  redirect  the output (which would normally go to a "CLI"
     window) to a file called:

                                RAM:MAXsBBSFunct28.output

     When the control returns back to the BBS a  time  adjustment  is  made
     (going  by the change in the system clock,  if any) to the user.   The
     output file above is then printed/sent.   This  function  should  work
     with  any AmigaDOS command or program that normally outputs to a "CLI"
     window.  Note: Some programs may require extra input when executed and
     it  may  therefore  never return to the BBS,  they will wait for extra
     input from the local keyboard or mouse.   It is recommended  that  you
     experiment  with this function at a local login before you try it from
     remote.


     Function 29 - Deposit to the time bank:

     This  function  allows  the  user  to  subtract  time  from their time
     remaining and add it (deposit) to their time bank.   The user can then
     later  withdraw  from  the  time  bank  into their time remaining (see
     below).   The user can only deposit to a  maximum  time  bank  balance
     specified in the "System configure" window.   If the time bank balance
     is at the maximum then a message "Time bank balance is too high" (line
     240) is given.


     Function 30 - Withdraw from the time bank:

     This function allows the user to add time to their time  remaining  by
     withdrawing  time from their time bank.   Note:  If the pull down menu
     function "Countdown" has been activated then the message "Sysop  needs
     to  use  the  computer"  (line 249) is given.   The BBS will take into
     account the next system event when the user tries to withdraw time.


     Function 31 - Deposit all time remaining and log out:

     This function is similar to the BBS menu function 29 - Deposit to  the
     time  bank  (see  above),  except  all  the  user's  time remaining is
     deposited to the time bank leaving only one minute.  The BBS will then
     do a formal log out as described in BBS menu function 1 - Log out.


     Function 32 - Send a private echo message (n, [Dest address], [Name]):

     This function is used to generate a private "NetMail" message to later
     be  picked  up  by  or  sent  to the destination FidoNet system.   The
     "Extra" gadget contains an argument.   Use a "0" to tell  the  BBS  to
     first  check  the destination address entered by the user to see is if
     it exists in the "FidoNet mail distribution" window.   Use  a  "1"  to
     tell the BBS not to check the destination address entered by the user.
     Use a "2"  to  tell  the  BBS  that  the  "Filename/Name/Dest"  gadget
     contains  the  destination FidoNet address.   The "Filename/Name/Dest"
     gadget can contain an optional user name for the message,  except when
     argument "2" is used.   All private mail must be sent straight to,  or
     be picked up by the destination FidoNet system.  Private "NetMail" can
     not  be sent indirectly to the destination as the message would not be
     private.


     Function 33 - Set default file transfer protocol:

     This function allows the user to set a default file transfer protocol.
     If the user always uses the same file transfer protocol, then they can
     specify  that  protocol in their user file.   The BBS will not have to
     ask which file transfer protocol  they  wish  to  use  every  time  an
     upload/download is selected.   See the "User editor" for a list of the
     protocols available.   This file is printed/sent when this function is
     selected:

                                ProtocolList.text


     File transfer:

     When a file  transfer  has  been  started  the  BBS  opens  the  "File
     transfer"  window.   A  file  transfer  can  be aborted at any time by
     clicking on the "Close window" gadget.   The BBS may  not  respond  to
     your  abort request straight away,  but it will eventually (click once
     and wait).  Here is the information displayed in this window:

       Protocol:   This shows which protocol is being  used  for  the  file
     transfer  (XModem,   YModem,  ZModem).    Definition:   Protocols  are
     agreements between people or processes about  which  may  do  what  to
     whom, and when.

       Filename:   This  is  the  filename  of  the  file  currently  being
     transferred.

       Size:   This  is  the  size  in  bytes  of  the file currently being
     transferred.

       Total blocks:   This is the total number of blocks for  the  current
     file  being  transferred.   Block  sizes  change  depending  on  which
     protocol is being used.   With the ZModem protocol the block size  can
     change during the file transfer when errors are detected (see "Errors"
     below).  Note: For batch downloads the initial number of blocks is the
     total number of blocks for the batch transfer.

       Estimated  time:   This  is  the estimated time for the current file
     being transferred.   The estimated time depends on the bps  rate  that
     the  user  is connected at.   This is only an estimate,  and if errors
     occur during the file transfer then the transfer  will  take  longer. 
     The estimated time was calculated on the average characters per second
     rate for each protocol at 2400 bps.  This time is used to check that a
     user  has enough time remaining to complete the file transfer.   Note:
     For batch downloads the initial estimated time is the  estimated  time
     for the batch transfer.

       Actual  time:   This is the actual time (timer) for the current file
     being transferred.   The actual time is in real  seconds  ie.  updated
     every second.  The timer starts from when the transfer window is first
     opened.  Some file transfer programs only update the actual time after
     each block.   Some blocks can take up to thirty three seconds to send!
     Therefore it may look like there is no activity for this time.

       Bytes:   This is the number of bytes  transferred  so  far  for  the
     current  file.   With  the  ZModem protocol this may not start at zero
     because the receiving side of a ZModem transfer can start the transfer
     at any position.  The ZModem protocol can also change the current file
     position at any time during the transfer.

       Blocks:   This is the number of blocks transferred so  far  for  the
     current  file.   With  the  ZModem  protocol the block size can change
     during the file  transfer  when  errors  are  detected  (see  "Errors"
     below).

       Errors in this block:   This is the number of errors detected in the
     file transfer (due to line noise) for this block.  If the total number
     of  errors in a block is higher than ten (six for the ZModem protocol)
     then the transfer is aborted.  Note: For ZModem send this field is not
     used as the ZModem protocol can change the file position when an error
     is detected, ie. may not be the same block.

       Errors:   This is the total number of errors so far for the  current
     file  being  transferred.   Errors  are  caused  by line noise and are
     detected by Cyclic Redundancy Checks (CRC).   The CRC is performed  on
     the block being transferred before and after the transmission,  if the
     CRC's do not match then an error has occurred with  the  block  during
     the  transmission,  the  block  is  then  re-sent.   When an error has
     occurred in a ZModem download  the  block  size  will  become  smaller
     (minimum 256 bytes) as successive errors are detected.  This helps the
     file transfer time on very noisy lines.

       Chars per second:   This is the characters per second rate  for  the
     current  file  transfer.   The  "CPS"  gauge  is  accurate  to  twenty
     milliseconds.   If errors occur during a file transfer then the  "CPS"
     rate will drop.   If you are multi-tasking the BBS with other programs
     then this will also slow down the  file  transfer.   When  calculating
     maximum  characters per second for file transfers,  remember that each
     character has 1 start bit plus 8 data bits plus 1 stop bit.   Giving a
     total of 10 bits per character.  Therefore a 2400 bps rate will give a
     maximum of:

                         2400 / 10 = 240 characters per second.

       Last ZModem  header:   This  line  is  only  used  for  ZModem  file
     transfers.  It displays the last ZModem frame type and position/flags.
     This may be useful for debugging a ZModem program or to  give  you  an
     idea of how the ZModem protocol works.



                              CUSTOMIZING THE BBS
                              -------------------

     M  A  X's BBS is supplied with sample menus and text files to give you
     an idea of the features that M A X's BBS has.  You may wish to use the
     BBS  as it is.   Most users do not want to call a BBS which is exactly
     the  same  as  one  already  online.   Therefore  it  is  up  to  your
     imagination and needs as to what group of users you wish to attract to
     your BBS.   M A X's BBS was written with the concept of being able  to
     completely customize the look and feel of the BBS.  All the text files
     can be edited with any text editor.   You can also add your  own  text
     files.   All  menus  have  separate  text files.   All BBS text can be
     edited with the "Text editor" function (see "Configuring  the  BBS"). 
     In  fact  you  could  even  change the language of the BBS!   Here are
     descriptions of the default text files used by the BBS:

       BBS.text:   This is the file seen when the BBS is waiting for a call
     (idle).

       Bulletin.text:   This  is the file seen by the users after they have
     logged on.   The user will only see this if the "Bulletin" flag is not
     set, ie.  when you make an update to the news bulletin, use the global
     edit function to force all users to read the new  news  bulletin  (see
     "User editor").

       FSEHelp.text:   This  is  the full screen editor help file seen when
     the user selects the help option in the full  screen  editor.   It  is
     recommended that you only change the ANSI colours in this file.

       Guest.text:   This  is  the  file seen by a new or "Guest" user when
     they have logged on your BBS for the  first  time.   This  file  would
     normally  contain  introduction  and  membership  information  for new
     users.

       Intro.text:  This is the file seen be all users just after they have
     logged   in.    This  file  would  normally  contain  information  and
     statistics about the user.

       ListFilesHelp.text:   This is the BBS menu function 20 - List files,
     the file seen when the user selects the help option from the sub menu.
     It is recommended that you only change the ANSI colours in this file.

       ListFilesMenu.text:   This is the sub menu file  for  the  BBS  menu
     function  20 - List files.   The selection keys can not be changed and
     it is intended that you only change the look and colours.

       LockOut.text:   This is the file seen by a user who has been  locked
     out of your BBS (access 0).  Better change this!

       LogIn.text:   This is the file seen by the user when the user  first
     connects  to  your  BBS.   You should change this to the name that you
     intend  to  call  your  BBS.    Note:   Pause  is  turned   off   when
     printing/sending this file.

       LogOut.text:   This  is  the file seen by the user with the BBS menu
     function 1 - Log out.  Note: Pause is turned off when printing/sending
     this file.

       MsgEdHelp.text:  This is the BBS menu function 16 - Leave a message,
     the file seen when the user selects the help option from the sub menu.
     It is recommended that you only change the ANSI colours in this file.

       MsgEdMenu.text:  This is the sub menu file for the BBS menu function
     16 - Leave a message.  The selection keys can not be changed and it is
     intended that you only change the look and colours.

       MsgRdHelp.text:   This  is the BBS menu function 17 - Read messages,
     the file seen when the user selects the help option from the sub menu.
     It is recommended that you only change the ANSI colours in this file.

       MsgRdMenu.text:   This  is  the first sub menu file for the BBS menu
     function 17 - Read messages.   The selection keys can not  be  changed
     and it is intended that you only change the look and colours.

       MsgSearchMenu.text:   This  is second sub menu file for the BBS menu
     function 17 - Read messages.   This menu is seen when the user selects
     "(S)earch  msgs" from the first sub menu.   The selection keys can not
     be changed and it is intended  that  you  only  change  the  look  and
     colours.

       ProtocolHelp.text:    This   is   the  BBS  menu  function  23/24  -
     Upload/download a file,  the protocol help file  seen  when  the  user
     selects the help option from the sub menu.  It is recommended that you
     only change the ANSI colours in this file.

       ProtocolList.text:   This is the BBS menu function 33 - Set  default
     file  transfer  protocol,  the  file  seen  when the user selects this
     function.

       ProtocolMenu.text:  This is the sub menu protocol selection file for
     the BBS menu functions 23/24 - Upload/download a file.   The selection
     keys can not be changed and it is intended that you  only  change  the
     look and colours.


     ANSI codes:

     M A X's BBS supports all  the  ANSI  colour  codes  plus  some  cursor
     movement  codes.   All  ANSI  codes  begin  with  these two characters
     "Escape" (^[) and  "[",  the  following  codes  are  optional  numbers
     separated  by a semi colon (;) and terminated with an "m" for a colour
     code, "A,  B,  C,  or D" for a delta cursor movement or "H" for cursor
     position.   The  colour  codes  can  be  as  long  as you like and are
     terminated with the "m" character.

                        eg:

                              <Esc>[n;n...m

                              <Esc> - the "Escape" (^[) character
                              [ - The "[" character
                              n - A number (see below)
                              ; - Separates numbers
                              m - Terminates the ANSI colour code

     Where the "n" is a number representing a colour  or  attribute.   Here
     are the available colours:

                              30 - Black foreground
                              31 - Red foreground
                              32 - Green foreground
                              33 - Yellow foreground
                              34 - Blue foreground
                              35 - Magenta foreground
                              36 - Cyan foreground
                              37 - White foreground
                              40 - Black background
                              41 - Red background
                              42 - Green background
                              43 - Yellow background
                              44 - Blue background
                              45 - Magenta background
                              46 - Cyan background
                              47 - White background

     Here are the available attributes:

               0 - All attributes off (normal white on black)
               1 - Bold on (high intensity)
               3 - Italics on
               4 - Underscore on
               5 - Blink on (or italic if flashing text is turned off)
               7 - Reverse video on (swaps foreground and background)

     For  a  delta cursor movement the ANSI string is similar to the above,
     except that you can only have one number and the termination character
     gives the direction of movement:

                              A - Cursor move up by n (north)
                              B - Cursor move down by n (south)
                              C - Cursor move right by n (east)
                              D - Cursor move left by n (west)

                        eg:

                              <Esc>[10A

                              The cursor will move up by ten lines

     For  cursor  position  the  ANSI  string  is  terminated  by  the  "H"
     character:

                        eg:

                              <Esc>[n1;n2H

                              n1 - Row (line)
                              n2 - Column

     If the number for both delta cursor movement and cursor  position  are
     zero (0) or omitted, then they will default to one (1).


     Auto insert:

     M A X's BBS will automatically insert text into  any  BBS  menu,  text
     file or BBS text.   There are forty seven auto inserts available.   To
     insert text the character "%" is used followed by the  character  code
     representing  the  insert to be placed there.   If you wish to use the
     "%" character without an auto insert then use two "%" characters  (you
     will  only  see  one).   It is recommended that you print out the auto
     insert summary file as a quick look-up called:

                                AutoInsert.text

     Here is the list of auto inserts available:

                              %a - Sysop name (line 0)
                              %b - Full date & time
                              %c - Date
                              %d - Time
                              %e - Talking clock

                              %f - User name
                              %R - User first name
                              %g - Suburb
                              %h - Phone number
                              %i - Computer description
                              %j - Comment
                              %k - Time remaining
                              %l - Access
                              %u - Status
                              %m - Time limit
                              %n - D/U ratio
                              %o - Last message read
                              %p - Page length
                              %q - # of calls
                              %r - # of messages
                              %s - # of uploads
                              %t - # of downloads
                              %M - Time bank
                              %N - File transfer protocol
                              %O - Future
                              %v - Last on date & time
                              %w - bps rate

                              %x - Total calls
                              %y - Number of users
                              %z - Active messages
                              %A - Lowest message
                              %B - Highest message
                              %C - Active files
                              %D - Calls today
                              %E - Messages today
                              %F - Files today
                              %G - Guests today
                              %Q - Imports today

                              %H - Last user's name
                              %I - Last logon date & time
                              %J - Date & time user logged on
                              %K - Elapsed time
                              %L - Percentage time used
                              %P - Mins before next system event

                              %X - Forces hangup
                              %Y - Waits for a second
                              %Z - Forces a pause


     Hiding parts of text:

     Parts  of  menus  or  parts  of any text file can be hidden from users
     depending on  their  access  level.   This  is  useful  to  hide  menu
     functions from users who do not have access to them,  and hiding parts
     of news bulletins with information you do not want some users to  see.
     This  is  how  it  works;  the  "@" character is followed by an access
     level.   Only users with the same or higher access level can  see  the
     text  following  the "@n" code.   If you want to use the character "@"
     without an access level check,  then use two "@" characters (you  will
     only  see one).   Here is an example to hide the text "Only sysops can
     see this" from users with an access level of less than 5000:

                        eg:

                              @5000Only sysops can see this@0

     Put an access level check of zero ("@0") after the part  of  the  text
     you  are  hiding,  so that all users can see the remaining part of the
     text file.





      Special thanks to my EX-fiance Tina Blue for her time, patience and
      help in proof reading and correcting this manual!  Thanks Teens!

                  "Life's a bitch and I ALMOST married one!"

                Fido and FidoNet are trademarks of Tom Jennings.




                  |\ /|   /\   \ / ' __    __  __  __
                  | V |  /__\   X   (_    |__)|__)(_
                  |   | /    \ / \  __)   |__)|__)__)


              Version 1.52   25-Dec-92    Upgrade History
              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



  Changes from version 1.00 to version 1.10:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  *  A new M A X's BBS icon has been drawn to replace the old temporary icon.
  Those who are connected to MAXsNet will already have it.

  *  A file name of a text file can replace any text line in the "Text editor"
  window.  To specify a text file name make the first character a "<" (just
  like AmigaDOS) followed by the file name.  If you want to print a "<" as
  the first character of a text line then use two "<", you will only see one.
  This does not work with line 0 - Sysop name!

                 eg:
                          ________________________________
                      7: |<BBS:Text/Security.text         |
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


  *  "Search" and "Goto" gadgets have been added to the "Text editor" window.
  Use the "Goto" gadget to go to a line number, its gadget will be
  activated ready for editing.  Use the "Search" gadget to search for a
  string from last search or goto downwards, or from the top if no previous
  goto or search was used.  The search is not case sensitive and partial
  strings can be used.  When the string is found the gadget will be
  activated ready for editing.

  *  A "Goto" gadget has been added to the "Sections configure" window.
  Works in the same way as above.

  *  A "Goto" gadget has been added to the "FidoNet mail distribution"
  window.  Works in the same way as above.

  *  A number of optimizations have been made to window redraw and some other
  areas in the BBS.

  *  A proportional (slider) gadget has been added to the "Files editor"
  window.  Just like a file requester...

  *  A proportional (slider) gadget has been added to the "Caller log"
  window.

  *  "Delete" options have been added to the requesters when checking files.

  *  The text "Talking to yourself" has been moved into the "Text editor"
  (line 264).  It no longer appears in a chat interrupt at local but only
  when attempting to a write message to yourself.

  *  A pull down menu function "Sub 15 mins" has been added to complement
  "Add 15 mins".  It will hang up on users with fifteen minutes or less...

  *  A pull down menu function "Sleep" has been added.  This activates
  sleep mode which closes the serial device and stops the BBS clashing with
  other programs using the serial device eg. another M A X's BBS or JRComm.
  You can use the option "-s" in the command line to start the BBS in sleep
  mode.

                 eg:

                     Run MAXsBBS -s BBS:MAXsBBS.config


  *  A bug fixed in the "FidoNet mail distribution" window when using a
  section number bigger than 103.

  *  The ANSI cursor position code now accepts just a row number and no
  column number.

                 eg:

                     <Esc>[20H


  *  Iconify on start up gadget added to the "System configure" window.
  This starts the BBS as an iconifed window.  You can also use the option
  "-i" in the command line to start the BBS as an iconifed window.

                 eg:

                     Run MAXsBBS -i BBS:MAXsBBS.config


  *  When listing files the description line and the line above have been
  swapped around.  A more logical way to list files.

  *  When adding a new file in the "Files editor" if a comment exists with
  the file been added then it will be used as the description.

  *  A "38400" connect string gadget has been added to the "Modem configure"
  window.  The maximum bps that can be used now is 38400.

  *  A "Device name" gadget has been added to the "Modem configure" window
  to change the file name of the serial device you wish to use.  Default is
  "serial.device".

  *  The file "Log.text" is now exclusively locked before executing a CLI
  command when using BBS menu function 28 - CLI.  This stops the user from
  deleting or changing the "Log.text" file from the CLI function.  This is a
  security measure as each CLI command used is logged here.

  *  The "Clock" window has been moved to the left to reveal the screen
  depth gadget and to cover up my name :-(.

  *  The BBS will now remember the iconified window position which is stored
  in the "MAXsBBS.config" file.  Move the iconified window to where you would
  like it to appear and then use "Save all".

  *  ZModem resume has been added and is optional.  The gadget "ZModem
  resume" has been added to the "System configure" window.  When a file
  is uploaded using ZModem and the "ZModem resume" flag is turned on and
  the file transfer is aborted or the carrier is lost, then the BBS will
  resume transfer from the last saved position.  The file name of the file
  will have an extension of the user's name who started to upload it.
  These files will stay in the files directory until the transfer is
  completed or you delete them.  Note: A 16K buffer is used for file
  transfers which means incomplete files will be a multiple of 16K bytes in
  size.  Minimum file size is 16K bytes.

  *  A "Door files file path" gadget has been added to the "System configure"
  window.  This path is used by the new door function (see below).  The BBS
  can also execute door programs during a logon.  This path is checked
  for the following files to execute, if they do not exist then the BBS
  will continue as normal:

                          GuestDoor
                          IntroDoor
                          BulletinDoor
                          MainDoor


  *  BBS menu function 34 - Door, has been added.  This door is downward
  compatible with Paragon door programs.  The door functions have been
  extended with M A X's BBS exclusive functions  eg. The door program can
  use any of the 33 BBS menu functions and edit any part of the current
  online user.  For information on programming for this door see the Paragon
  door docs file available in the "M A X's BBS support files" section.  A
  list of extended M A X's BBS door functions will be available soon.  The
  "Filename/Name/Dest" gadget in the "Menu editor" contains the file name and
  path of the door program to run.

  *  A file name of a text file can replace any macro line in the "Macros"
  window.  To specify a text file name make the first character a "<" (just
  like AmigaDOS) followed by the file name.  If you want to print a "<" as
  the first character of a macro then use two "<", you will only see one.
  This feature is a one key import function.  If the file is not found then
  the import requester will ask for a new one.

                 eg:
                          ________________________________
                     f2: |<BBS:Text/GuestMsg.text         |
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


  Changes from version 1.10 to version 1.12:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  *  The serial input routines have been optimized for faster file receives.

  *  The "ZModem XON/XOFF" gadget in the "System configure" window now only
  selects XON/XOFF flow control for bps rates higher than 2400.  Rates the
  same or lower than 2400 bps default to XON/XOFF turned off.

  *  The "Shw connect info" gadget has been added to the "System configure"
  window.  When turned on, the BBS will display the serial buffer contents
  until it sees a valid connect string when a carrier is detected.  Useful
  to see connection summary info that some high speed modems can give.



  Changes from version 1.12 to version 1.14:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  *  Double buffering has been added to the serial input routines.  This
  allows the BBS to keep up with over 1900 CPS!  A big improvement on the
  earlier versions.  Note: Tests done with a terminal rate of 38400 bps
  caused random errors during file transfers.  This is because the serial
  device can not keep up with 38400 on a standard 7 Meg Amiga.

  *  The door command 11 now works the way it should.  It finds out if a
  file in your file library is online or not.  A carriage return is now
  printed after using the door command 6 - Input.

  *  When printing the contents of the serial buffer after a carrier is
  detected (show connect info) the BBS now ignores line feeds.

  *  A  M A X's BBS exclusive door command 201 has been added.

  *  The "FidoNet configure" window has been changed to fit in the new
  gadgets "BBS name", "Make LZH" and "UnLZH".  The "BBS name" is what is
  used in the FidoNet system ID (Log.text).  The "Make LZH" is the FidoNet
  message bundle compression command.  The "UnLZH" is the command used to
  extract compressed message bundles.  You can use the last two gadgets
  (above) to specify a different compression utility and/or options.

  *  The "System configure" window has been split up into two windows.  The
  "Paths & options" window now contains the file paths and options that
  were in the old "System configure" window.

  *  Eight more optional files file paths have been added to the "Paths &
  options" window.

  *  The BBS menu function 23 - Upload files, can now contain an optional
  upload path in the "Filename/Name/Dest/Path" gadget.  You can also use a
  pseudo section number of 100 to specify no section ie. the uploaded file
  is not stored in the "File.data" file (raw upload).

  *  The "User editor" inactive days count is now stored in the config file.
  To set your own default inactive count, change it in the "User editor" and
  select "Save all".



  Changes from version 1.14 to version 1.16:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  *  You want more file paths... you got 'em!  Thirty optional files file
  paths added to the "Paths & options" window.  Use the arrow gadgets to
  move through them.

  *  A download log (text) added.  Enable gadget added to the "Paths &
  options" window.  The download log has a file name of "DnloadLog.text"
  and is found in the "Log files file path" path.  This log file has the
  date, time, user name, file name & CPS rate for every successful download.

  *  A separate CLI log (text) added.  Enable gadget added to the "Paths
  & options" window.  The CLI log has a file name of "CLILog.text" and is
  found in the "Log files file path" path.  Note: This log file is
  exclusively locked before executing the CLI command entered.

  *  Bug fixed.  The BBS now does not turn on the "Get File Description"
  flag when doing a "Raw" upload.




  Changes from version 1.16 to version 1.18:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Please edit the following text lines using the "Text editor" to read
  something like the following depending of course on your colour scheme
  and/or language:

             ______________________________________________________________
  Line 114: |^M^M^[[32mQuote which lines ([From]-[To], CR - end): ^[[0m
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             ______________________________________________________________
  Line 116: |^M^[[33mQuoting line(s)...^[[0m
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             ______________________________________________________________
  Line 243: |^M^[[32m v:  ^[[36mMax tm bnk: ^[[0m
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


  * When using the BBS menu function 26 - Edit a user, the "Edit user"
  window is used when at a local login.  If editing a user from remote
  the old "Remote user editor" is used.

  * The BBS now uses a file index for super fast file searching.  The file
  index is also used when listing files.  If the file index does not
  exist, then the BBS will default to the old file search routines.  Note:
  To create the "File.index" file, select the "Files editor" and hit "Save".
  The "File.index" file is found in the "Files file path" and is protected
  from being over written by an upload.

  * "Monochrome" option added to the "Paths & options" window.  This option
  opens a one bit plane screen for the BBS display.  The monochrome option
  is of course only black and white, but because it is only one bit plane
  all the text routines are super fast especially scrolling!  The user will
  still receive all the ANSI colour codes even though they are ignored on
  the BBS side.  This option also uses less chip mem.

  * The ANSI codes "<Esc>[2J" and "<Esc>[2K" have been implemented.  Some
  door programs use these codes.

  * When a user is logged on, the local Sysop can select BBS menu functions
  as though the user is an almighty Sysop (access 10000).  ie. all menu
  selections from remote are limited to the user's access level, but menu
  selections made on the local keyboard are considered access level 10000.

  * The bell delay has been shortened.

  * Text can now be hidden from users with higher access levels.  This is
  similar to the minimum access level specifier "@".  To specify a maximum
  access level use the "|" character followed be the access level.  Only
  users with the same or lower access level can see the text following the
  "|n" code.  If you want to use the character "|" without an access level
  check, then use two "|" characters (you will only see one).

                 eg:

                      |5000Sysops can not see this|10000


  Put a maximum access level check of 10000 after the part of the text you
  are hiding, so that all users can see the remaining part of the text.

  * "Max time bank" has now been moved into the "User editor".  This allows
  you to specify the maximum time bank balance the individual user can
  obtain.  The "User defaults" window now has the "Max time bank" default
  value gadgets for Guests and Members.  This value is in minutes and ranges
  from 0 (no time bank) to 10000.

  * The message importer now accepts variable date string lengths (19 and 20
  bytes).  This change was made because Rikard Thulin in Sweden sent me a
  sample message packet which did not work with M A X's BBS.  I found that
  the date strings were only 19 bytes wide but according to my FidoNet docs
  they should always be 20 bytes wide...

  * The "System configure" window has the gadget "Add & sub" replacing the
  "Max time bank" gadget.  The "Add & sub" gadget is used to set the amount
  of minutes to add and subtract from the current user with the pull down
  menu functions "Add mins" and "Sub mins" (previously known as "Add 15
  mins" and "Sub 15 mins").

  * M A X's BBS exclusive door command 202 added.

  * When quoting lines from a message, the quote prefix text line 115 can
  now contain a "%" to tell the BBS to insert the initials of the user the
  message is from.  If you wish to use the character "%" in the quote
  prefix, then use two "%" characters (you will only see one).

  * When quoting lines from a message, the user can now enter a range.  To
  enter a range you type in the from line number and the to line number
  separated by a "-" character.

                 eg:

                      6-10  Quotes lines 6 to 10.
                      10-6  Quotes lines 6 to 10.
                      -10   Quotes lines 1 to 10.
                      6-    Quotes lines 6 to last line.
                      -     Quotes lines 1 to last line (whole message).
                      6     Quotes line 6.


  * When selecting pull down menu functions "Load all" and "Save all" the
  BBS will open a confirmation requester in case you selected one by
  mistake.

  * Due to the fact that the Amiga's keyboard can change depending on the
  nationally, I have added the text "K/B map starts here ->" and "<- Ends
  here" around the keyboard map in the executable program.  To edit the
  keyboard map use a file zapper (eg. "Hex") to edit the characters as
  required.  Do a search for the string "K/B map" to find the start of the
  keyboard map in the program.  The keyboard map contains the unshifted keys
  in the first half and the shifted keys in the second half.  Edit with
  care.  I know this is crude, but it will do for now.

  * When a user pages the sysop for a chat the user's name not only changes
  to red but "*" are now placed around the name.  This is so the local Sysop
  can see that the user has paged the Sysop even in monochrome mode.  Same
  applies when the BBS is iconified.




  Changes from version 1.18 to version 1.20:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Note: After using "MAXsCon120" to convert your "Config.data" file you will
  notice that the BBS address and the iconify window position have been set
  to zero.  Please change these as required.


  * Bug fixed.  When checking files and a requester "File already exists"
  pops up and you hit "Delete", it would sometimes cause a file section
  counts error.  All fixed now.

  * The DOS command "CD" now works with the BBS menu function 28 - CLI.

  * M A X's BBS can now be used with multi-lines.  The program has been
  re-written to allow for shared index memory and shared data files.
  Multiple nodes have been tested from local with no problems.  A real
  multi-line system should work but has not been tested yet, so let me how
  it goes.  I recommend that if you are going to run multi-lines that you use
  an Amiga faster than the stock standard 7 Meg 68000.











  * The iconify window has been enlarged to fit the node number before the
  user name and the current menu function after the user name.  To insure
  that the iconify window can open, because it is now wider, the stored
  iconify window position is zeroed (see above).

  * File names can now use the characters "_" and "&".

  * The download batch file limit has been increased from 10 to 30.  The
  user's download/upload ratio is now check with each file requested.

  * Multiple doors can now be run as a user logs in.  The BBS now looks in
  the door files file path for the following text files:

                          GuestDoor.text
                          IntroDoor.text
                          BulletinDoor.text
                          MainDoor.text

  The above text files contain the file name(s) of the door program(s) you
  wish to run.  The text files must contain only one door file name per line.
  The doors are run one after another in the order of the text file.  There
  is no limit to the amount of doors you can run from each text file!
  Arguments can now be passed to the door program and are added after the
  file name of the door.  Do not specify paths, the BBS assumes that all door
  programs are found in the door files file path.

  * The "FidoNet mail distribution" window now has optional BBS addresses and
  optional origin lines.  An "Old" file name flag has also been added for
  systems which do not support 4 dimension file names (IBM crap).  Note: When
  using the "Old" file name flag be sure to set the flag for all entries of
  that destination address (this will probably become automatic in the next
  version).  When using optional origin lines the BBS will use the optional
  origin text when assembling the message for that destination.  Therefore
  not only can you have a different origin line for each message section, you
  can also have different origin lines depending on the destination (pretty
  good a?).  When using optional BBS addresses the optional BBS address will
  be used for that destination address.  When an incoming FidoNet system
  calls your BBS, it's address is looked up in the "FidoNet mail
  distribution" window, if it is not found then the normal BBS address is   
  used.  If the destination address is found and you have specified an
  optional BBS address, then your BBS uses that optional BBS address as an
  alias when exchanging "Hello" blocks.  ie. your BBS can belong to several
  different "Nets" using a different BBS address for each.  Note: When using
  optional BBS addresses be sure to enter the same optional BBS address for
  all entries of that destination address.



  Changes from version 1.20 to version 1.21:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  * Bug fixed.  When quoting from a message which has the first line blank
  the BBS will not let you quote the last line.

  * Bug fixed.  When deleting line 99 (last line) in the full screen editor
  the BBS will always crash.  Not the sort of bug you want hackers to know
  about!

  * The clock window position is now stored in the config file.  To save the
  clock position just select "Save all" from the "Config" pull down menu.

  * The file receive routines have been optimized even more for faster file
  receiving.

  * The "Old" file name flag in the "FidoNet mail distribution" window is now
  automatic ie. it will turn on all "Old" flags for every entry of that
  destination address.

  * The ZModem send auto block size has been changed to work better with
  buffered modems.

  * The asl.library file requester is now used to load and save the config
  file.  For Workbench 2.0 users only.


  Changes from version 1.21 to version 1.30:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  This version of M A X's is a significant improvement on all previous
  versions.  With the new implementation of a user index and optimized
  sending routines I think it is safe to claim that M A X's BBS is the
  fastest BBS program available on the Amiga.


  * There are a number of changes to FidoNet.  The message importer has
  been modified to handle a lot of non-standard message formats.  Thanks to
  Michael Borgefjord and Duncan Mcwilliam for providing sample message
  packets.  The message importer will now rename any bad message packet
  files as ".Bad_Error#n" where "n" is an error code.  Here is a list of
  possible errors:


                 Bad message packet error codes:
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

               1 - Bad message structure (Fatal).
               2 - Bad or unknown date string.
               3 - Bad or missing "From" name string.
               4 - Bad or missing subject string.
               5 - Missing "AREA" string.
               6 - Missing "SEEN-BY" string.
               7 - Bad "SEEN-BY" string.
               8 - Missing "PATH" string.
               9 - Bad "PATH" string.
              10 - Message text too big.


  * The "System configure" window has "Optimize time" and "Login time limit"
  gadgets added.  The "Optimize time" gadget contains a 24 hour time to
  automatically optimize the message files.  The "FidoLog.text" is updated.
  The "Login time limit" is the maximum time a user is giving to answer
  each login question.  The timer is restart for each question that requires
  input from the user, this includes new (Guest) users answering the new user
  questions.  This value is in seconds and ranges from 1 to 99999 (no time
  out).  Be sure to set this value when you change over to 1.30.

  * The message optimizer has been extended.  A bubble sort of the data file
  is now also performed to sort the data file into message number order.  As
  messages are read in forward or reverse order this decreases the number
  of seeking the disk drive, which contains the message files, has to do.
  When optimizing messages the "DTR" signal is dropped to stop the modem
  from answering any incoming calls.

  * The auto insert "%T" has been added.  This is the number of users online.

  * The BBS menu function 33 - Set default file transfer protocol, is now
  forced for a new (Guest) user login.

  * The BBS node number now also appears in the BBS screen title.

  * The "Modem configure" window has a new option called "Auto connect
  string".  This option allows the BBS to find the connection bps rate from
  the value after the "CONNECT" string.  Set this option when your modem will
  give a numerical value of the bps rate established for all rates.  The
  advantage of this option is that it will handle all the odd bps rates that
  some modems can connect at and any future modems.

  * You can now forward a message to an "Echo" message section.  The BBS
  will ask you "If you wish to export this message?" (line 268).  The
  message will be exported with your origin line weather it originated
  from your BBS or not.  Note: You will not be given the option to export
  a message which you have just quoted from when replying to it.  You will
  have to use the "(A)gain" option to reset the message text.

  * The "FidoNet" window now has 21 phone numbers and 21 execute program
  entries.  Use the arrow gadgets to move up and down in groups of three.
  Each phone number and execute program entry has a "Day count" and on/off
  gadget.  The "Day count" allows you to set the number of days to wait
  before it will dial or execute again, ie "1" will cause the entry to
  happen every day, "2" will cause the entry to happen every second day,
  etc etc...  The largest day count is 9 days and the minimum is 1 day.  The
  on/off gadget allows you to stop this entry from happening at all.  Of
  course you can force an event regardless of the day count and on/off
  switch.  Note: Only the first five entries of each can be forced.  Also
  the day count has a fixed reference and may not start on the first day you
  configure that entry.

  * The file transfer send routines have been greatly optimized.  The BBS
  now uses small double buffering which is automatically adjusted according
  to the terminal speed.  The increase in speed is at least twice as fast.
  Also the text sending routines have been optimized in the same way, making
  a noticeable increase in text speed (limited to the speed of the user's
  terminal program's text printing routines of course).

  * A "User.index" file has been added to speed up user file searches.  To
  create the index file start the "User editor" and hit "Save".  The BBS
  will default to the old user file search if the "User.index" file is
  missing.

  * When importing NetMail (private messages) the BBS will check the user
  file to see if the user that the message is addressed to exists before
  storing the message.  This stops your section 0 from being filled up with
  useless messages.

  * The BBS will now log all remote user logins regardless of their access
  level and will log all local user logins who are not Almighty Sysops
  (access 10000).

  * The "Warning: Carrier detected" requester now gives you the option to
  put the BBS into "Sleep" mode.  This comes in handy if you start up a
  local node to answer messages and forget to use the "-s" option when
  someone is online.

  * The "File section counts error" requester now gives you the option to
  fix the error.  This was requested by Edward Lawford and his experimental
  file utility programs :-).

  * Merry Christmas!



  Changes from version 1.30 to version 1.31:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Please edit text line 100 to read:

               _________________________________________________________
         100: |^[[32m(B)efore, (N)ext, (C)ontinuous,^M(A)gain,  (M)ark  |
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


  * M A X's BBS is now 9K bytes smaller! I managed to do this by moving parts
  of the program around to maximize pc relative addressing.

  * BBS menu function 35 - Read messages w/o reply, has been added.  This
  function is exactly the same as BBS menu function 17 - Read messages,
  except the user does not have the option to reply to the messages.

  * To make M A X's BBS fool proof for a multi-line system, the "User
  editor" and the "Files editor" will have their "Save" gadgets ghosted
  while someone is online on any node.  This is prevent DOS errors when
  trying to save the data files when another node has a read/write lock on
  the same data file.  Also problems arise when you delete users from the
  user file making the user file change in size and hence another node may
  store the current user in the wrong position of the user file.  Same with
  the files data file, there is a chance that another node may update the
  wrong part of the files data file because you have delete and removed
  files from the same data file on another node.




  Changes from version 1.32 to version 1.33:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  * Bug fixed: When calling a FidoNet system the BBS would sometimes guru.

  * Happy new year!



  Changes from version 1.31 to version 1.32:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Now you can claim that with M A X's BBS you get an upgrade every day! :-)

  * Bug fixed: The "Sections configure" window and the quote message text
  routines would list the first ten numbers as "00".  Sorry, this happened
  when I was changing some "move.b" instructions to "moveq.l".

  * File transfers have been optimized even more!  By increasing the small
  double buffering buffer size and using a CRC look up table for CRC
  calculations, I have increased file transfer speeds by 14%.  Using a
  modified ShitTerm version 0.05 (which has exactly the same routines as
  M A X's BBS version 1.32) to send a text file (M A X's BBS's manual)
  using the ZModem file transfer protocol on a stock standard Amiga 500
  with a 7 Meg Hz 68000, I got the follow CPS rates:


                 ----------------------------------
                 |  Bps  |  CPS | CPS (Iconified) |
                 --------+------+------------------
                 |  1200 |  118 |  119            |
                 |  2400 |  236 |  238            |
                 |  9600 |  892 |  905            |
                 | 19200 | 1625 | 1665            |
                 | 38400 | 2835 | 2930            |
                 ----------------------------------


  If anyone claims that their program can do better than that then ask
  them to prove it!  Note: YModem-g is faster still than ZModem!

  * Instead of disabling the "Save" gadgets in the "User editor" and the
  "Files editor" when someone is online on another node, the "Inactive",
  "Delete" and "Purge" gadgets are now disabled in the "User editor" and
  the routine which removes deleted files from the files data file is
  disabled.  This prevents the data files becoming smaller in size and
  causing problems with other un-suspecting nodes.  Note: It is okay to
  add (increase the data files file sizes) to the data files.  If you get a
  save error because another node has a read/write lock on the same data
  file, then just hit "Retry" until it works (or Twit the offending user :-)
  ).



  Changes from version 1.40 to version 1.41:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  * Bug fixed.  When attaching a file to a reply to a NetMail message the
  attached file would not be copied to the correct OutBound sub directory.
  You would get a DOS error.

  * Added 20 extra text lines to the "Text editor".

  * Spaces are now allowed in the "Execute on logoff" gadget.



  Changes from version 1.33 to version 1.40:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Please edit the following text lines to read:

               ___________________________________________________________
          61: |^M^M^[[32mMove message to section number (? - list): ^[[0m |
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               ___________________________________________________________
         109: |^M^M^[[32mSection number (? - list): ^[[0m                 |
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               ___________________________________________________________
         225: |^M^M^[[33m            rwud^[[32mbafpclgja^M^[[33m r: ^[[36m                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ______________
                                                             Flags: ^[[0m |
                                                            ~~~~~~~~~~~~~~


  * The "Message importer" has been changed.  Here is a list of the new bad
  message packet error codes:


                 Bad message packet error codes:
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

               1 - Bad message structure (Fatal, stop).
               2 - Bad or unknown date string (Optional, skip).
               3 - Bad or missing "From" name string (Optional, skip).
               4 - Bad or missing subject string (Optional, skip).
               5 - Missing "AREA" string (Skip).
               6 - Missing "SEEN-BY" string (Skip).
               7 - Bad "SEEN-BY" string (Skip).
               8 - Missing "PATH" string (Skip).
               9 - Bad "PATH" string (Skip).
              10 - Message text too big (Stop).


   "Optional" means that this error can be turned off by using the "No care
  import" gadget in the "FidoNet configure" window.  "Stop" means the message
  import will stop on this error and will not continue reading this message
  packet.  "Skip" means the message import will skip this message and
  continue onto the next message in this message packet.  If any errors occur
  when reading a message packet, then the message packet is renamed to the
  first error code that occurred.  With error #2, the bad date string is
  stored in the "SysEventsLog.text" so that you can see exactly why it
  failed.  "Msg counts", "Total counts", "Date" and "Total errors"
  information fields have been added to the "Message import" window.

  * "Import time" has been added to the "FidoNet configure" window.  This
  gadget allows you to set a 24 hour time to start the "Message importer". If
  this value is set to zero (0), then the "Message importer" will start after
  each FidoNet session.  If this value is set to the dummy time of "9999",
  then the "Message importer" is turned off.  Of course you can still force
  an import regardless of this time value.  If the "Optimize time" is set to
  the same time as the "Import time" then a message optimize will start
  straight after the message import.

  * The "FidoLog.text" file has been renamed to "SysEventsLog.text".

  * The "SysEventsLog.text" now logs a lot more information than before. File
  names and file sizes are now also logged.  Each entry in the log is now
  preceded by a node number.

  * The "Files editor" has been changed.  The "Description" gadget has been
  extended and can now display most of the file's description text.  A "Sort"
  gadget has been added.  This allows you to sort the files into section
  number order.  Hit "Sort" again to sort back to date order.  Note: If you
  have sorted the files into section number order, hitting "Save" will
  re-sort the files back to date order before saving the data file.  A "Purge
  section" gadget has been added.  This gadget allows you to purge the entire
  current file section.  You can now also use the keyboard keys:

                            "P" - Public
                            "D" - Delete
                     "Up arrow" - Moves up one file
                     "Dn arrow" - Moves down one file
                   "Left arrow" - Moves file to previous file section
                  "Right arrow" - Moves file to next file section

  Note: You must click in a non-gadget area in the "Files editor" window to
  activate keyboard control.  You can now also "un-delete" and "un-public"
  files by hitting that gadget again.

  * All windows which have up and down arrow gadgets can now use the
  keyboard's up and down arrow keys to move.  Note: You must click in a
  non-gadget area in that window to activate keyboard control.

  * When receiving files during a FidoNet session, the BBS will automatically
  rename the incoming file if it already exists in the InBound directory.  A
  unique number is prefixed to the file name.

  * When using the "FidoNet dialer", the BBS window will display all
  responses and connect info from the modem when the "Show connect info"
  gadget is turned on.  Once the BBS has connected to another system, the
  BBS's banner text is also displayed in the BBS window (regardless of the
  "Show connect info" gadget).

  * The "Answer delay" gadget has been added to the "System configure"
  window.  This allows you to set the delay in seconds from when the connect
  string is recognised to when the BBS responds.  This value is in seconds
  and ranges from 1 to 59.

  * Bug fixed:  The "AREA" would match up with partial area strings.

  * Bug fixed:  Message error code #9 now works correctly.

  * When a user logs onto the BBS the logon mail search is now optional.

  * The BBS no longer accepts zero sized uploads.

  * The "asl.library" file requester has been replaced by the
  "reqtools.library" file requester.  This is because the "asl.library"
  requester is just too slow.  Note: Both the WB 1.3 and WB 2.0 versions of
  the "reqtools.library" have been supplied with this upgrade.  Please
  rename and install the appropriate one in your "Libs:" file path.

  * "LockOutDoor" has been added.  Works the same way as the others.

  * For consistency, "12000" and "14400" connect string gadgets have been
  added to the "Modem configure" window.

  * The "Capabilities" FidoNet information field is now displayed as a bit
  string.  Here are the bit meanings (taken from "FTS-0006.txt"):


           /* Can do fast "FTS-0001"  0000 0000 0000 0001 */
           /* Full-Tilt Boogie        0000 0000 0000 0010 */
           /* Does ZModem, 1K blocks  0000 0000 0000 0100 */
           /* Can do ZModem variant   0000 0000 0000 1000 */
           /* Can do Janus            0000 0000 0001 0000 */
           /* reserved by FTSC        0000 0000 0010 0000 */
           /* reserved by FTSC        0000 0000 0100 0000 */
           /* reserved by FTSC        0000 0000 1000 0000 */
           /* reserved by FTSC        0000 0001 0000 0000 */
           /* reserved by FTSC        0000 0010 0000 0000 */
           /* reserved by FTSC        0000 0100 0000 0000 */
           /* reserved by FTSC        0000 1000 0000 0000 */
           /* reserved by FTSC        0001 0000 0000 0000 */
           /* reserved by FTSC        0010 0000 0000 0000 */
           /* reserved by FTSC        0100 0000 0000 0000 */
           /* WZ file req. ok         1000 0000 0000 0000 */


  * The "FidoNet dialer" can now handle fast responding BBS's.

  * All OutBound destinations now have their own OutBound sub directory.  The
  OutBound directory for a particular destination has a name made up from the
  "Zone.Net.Node.Point" values.  Note: The "OutBound files file path" gadget
  has been renamed to "OutBound directories path" in the "FidoNet configure"
  window.  The BBS automatically creates the "Personalized" OutBound sub
  directories on start-up, or it can be done manually by selecting the
  "Create dirs" gadget in the "FidoNet mail distribution" window.  To send
  files to a destination it is as easy as copying the file in to the
  appropriate OutBound sub directory.  Note: If the "Old" gadget is turned on
  for that destination, then the files are renamed to the IBM file name
  format upon "Pick-up".  This means that file names may be truncated if they
  are too long for the IBM format.

  * The "Check files" now shows "Path", "Timer" and "To go/Found" information
  fields.  Note: The path of the current file is only shown once it is found
  and therefore tends to "Flash".

  * The "User editor" now double checks to see if someone is online before
  allowing you to save deleted users.

  * The BBS will now wait up to 10 seconds to lock or open a data file.  This
  is in case the same data file is being saved on another node.

  * The "Message importer" now checks for duplicate messages by using a 32
  bit CRC table.  This allows you to abort and then continue a message import
  without having to worry about importing duplicate messages.  Note: The CRC
  table is only valid up until a completed message import session, and will
  be lost if you abort a message import and then "Quit" the program.

  * When forwarding an imported message and then re-exporting it, the
  original origin line now stays with the message.

  * The BBS now does a CRC check on the config file to warn you of any
  un-saved changes.

  * You can now "Reserve" the BBS for a particular user.  Use the pull down
  menu function "Reserve BBS" and enter the name of the user you wish to
  reserve the BBS for.  The BBS will tell you if the user does not exist.  To
  cancel a reserve just re-select it (the check mark will toggle).

  * The BBS now allows you to put arguments after a door's file name when
  using BBS menu function 34 - Door.

  * A "Junk mail" flag has been added to the "User editor" window.  The "Junk
  mail" flag allows the user to search for messages addressed to "All" on the
  logon mail search.  The new BBS menu function 36 - Set junk mail flag, has
  been added to allow users to set their own "Junk mail" flags.

  * The BBS now allows you to quote the origin text from imported messages.

  * When forwarding a message you can now use a "?" to get a list of section
  names and numbers.  Note: The "(M)ove msg" function in the message editor
  menu also accepts a "?" for a sections list.

  * The BBS now allows files to be attached to messages.  The flag "AFA"
  (Allow File Attaches) has been added to the "User editor" and the "User
  defaults" windows.  A user is allowed to attach a file to a message if
  their "AFA" and "Upld" flags are turned on, in which case the message
  editor menu text file "MsgEdMenu2.text" is displayed.  The "Attached files
  file path" gadget has been added to the "System configure" window.  File
  attaches are stored in this directory with the message number prefixed to
  the file name.  Once a file has been attached to a message, the subject of
  that message then becomes the file name of the attached file.  When file
  attaching at a local login, the "reqtools.library" file requester is used
  to select the file.  When a message with an attached file is being read,
  the user is allowed to "(G)rab" the attached file if the message is
  addressed "To" or "From" them, or when it is addressed to "All".  A sysop
  (access 5000) can "(G)rab" any file attach.  An attached file is only
  deleted when the user to whom the message is addressed to has "(G)rab"ed
  the file.  Note: A file attached to a message addressed to "All" is not
  deleted when "(G)rab"ed.  File attaches are compatible with other FidoNet
  systems.  This allows users to send and receive "Echo" and "NetMail"
  messages with attached files over the FidoNet network.

  * The pull down menu function "PURGE ATTACHED FILES" has been added.  This
  function opens a window allowing you to delete attached files.  The "Lost"
  gadget will delete file attaches that are attached to a missing or deleted
  message.  The "Old" gadget will delete file attaches that are older than
  the number of days specified in the "Old:" gadget.  The "Restart" gadget
  will delete ALL file attaches.

  * The BBS now allows users to reply to "NetMail".  The BBS will ask the
  user if the destination address is correct.  If it is not correct for some
  reason, then the user can enter the destination address manually.

  * Users can now hit "S" to stop a message search at any time.

  * BBS menu function 37 - Raw download, has been added.  This function
  allows the user to download any file in the BBS files file paths, or
  optionally, specify any file path.  To allow file paths enter a "1" in the
  "Extra" gadget in the "Menu editor".  Enter a "0" in the "Extra" gadget to
  stop file paths from being used.

  * The "(B)efore" message history size has been increased from 10 to 20
  messages.

  * BBS menu function 38 - Who's online, has been added.  This function
  allows the user to see who is online on a multi-line system.  The node
  number, name and suburb of current online users are shown.

  * BBS menu function 39 - Internode chat, has been added.  This function
  allows users to chat to each other in private or in a "Conference" on a
  multi-line system.  Note: This function will only work when two or more
  nodes are running.  A user can send a message to a user on another node
  asking for a chat etc. even if the other user is not in this function.  In
  "Conference" mode,  all users in this mode will receive the conference
  messages.  In private mode, only the destination node will see the message.

  * The "BBS font" and "Windows font" gadgets have been added to the "System
  configure" window.  This allows you to configure the main BBS font and the
  windows font.  This was mainly added because of the need for different
  character sets for different languages.

  * An "Execute on logoff" gadget has been added to the "System configure"
  window.  You can specify a program or script to execute each time a user
  logs off.  This works even if the user is "Twitted" or the carrier is lost.
  This function is intended for utility programs written for M A X's BBS.

  * The BBS will now notify you if you are going to save over a newly
  uploaded file or save over a new "Guest" user.  This can happen when using
  the "Files editor" and "User editor" while users are uploading and logging
  on on other nodes.

  * When importing messages and a "NetMail" message is addressed to "Sysop",
  the user file is first checked to see if "Sysop" exists.  If not, the
  message will be addressed to the name that appears in the "Sysop name"
  gadget in the "FidoNet configure" window.

  * ZModem has been changed to handle up to 10 unexpected headers before
  aborting the transfer.

  * True multi-node master access routines have been added.  This greatly
  reduces processor time and guarantees safe sharing of data files and index
  memory between nodes.  All multi-node loop holes have been fixed.



  Changes from version 1.41 to version 1.42:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  * Bug fixed.  When forwarding a non-imported message to an "Echo" message
  section and then exporting it, the BBS would not add the Tear or Origin
  lines to the message text in the OutBound message packet file.

  * The BBS will now abort a FidoNet session if it can not delete the
  OutBound file which was just sent.



  Changes from version 1.43 to version 1.50:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  * Access ranges have been added to the "Sections configure" window and
  the "Menu editor" window.  The new gadgets "Low access" and "High access"
  allow you to specify the access range a user must have to use that section
  or menu function.  "High Access" defaults to 10000 (All).

  * The BBS now allows an access range to be used when hiding parts of
  text in text or menu files.  Before, only one or the other could be
  used.  Example:

                   @10Only access 10 to 10000 can see this.
                   @5|20Only access 5 to 20 can see this.
                   @15Only access 15 to 20 can see this.
                   |15Only access 15 can see this.
                   |10000Only access 15 to 10000 can see this.
                   @0Everybody can see this (normal). 


  * Reply access level has been added to the "Sections configure" window.
  The user must have the same or high access than the "Reply access" before
  they can reply to a message in that message section.  This feature make
  BBS menu function 35 - Read messages w/o reply, effectively obsolete.
  Although the function is still available for downward compatability.

  * Two extra section links has been added to the "Sections configure"
  window.  "Lk1" (Link 1) is the same as the old "Lnk" flag for version
  1.43 and down.  "Lk2" (Link 2) and "Lk3" (Link 3) are used with the new
  pseudo section numbers listed here:

                     Message functions:         File functions:

                      100 Link 1 local            100 Link 1
                      101 Link 1 echo             101 Link 2
                      102 Link 1 both             102 Link 3

                      103 Link 2 local
                      104 Link 2 echo
                      105 Link 2 both 

                      106 Link 3 local
                      107 Link 3 echo
                      108 Link 3 both 

  You may also use the same message or file section with other links by
  using two or all three of the link flags.

  * Full screen file marking has been implemented!  This is the ultimate
  in file marking as you no longer have to type in file names.  To use
  the new full screen file marking you just move the cursor up and down
  in a file listing, and press <RETURN> when the cursor is over the
  desired file.  The file name will then change colour.  If you select
  a file that is already marked it will automatically be UnMarked.  The
  "ListFileHelp.text" file has been updated with the new information on
  file marking.  When BBS menu function 24 - Download files, is used,
  the marked files can then be included automatically in the download.
  30 marked files is the maximum.  Marked file are automatically UnMarked
  as they are successfully transferred, making the mark files list abort
  proof.

  * Added BBS menu function 40 - Edit marked files.  This new BBS menu
  function allows the user to manually add marked files or UnMark files.
  The current marked files are first listed, then the user is ask to enter
  the file name of the file they wish to Mark/UnMark.  The "Extra" gadget
  must contain a file section number.  This function work much the same
  way as BBS menu function 24 - Download files, in that partial strings
  are accepted.

  * Added BBS menu function 41 - UnMark all marked files.  This BBS
  function simply UnMarks all marked files.

  * Added "Freeze clock for uploads" ("Freeze upld clck") to the "Paths
  & options" window.  This option lets you choose if you want the BBS
  to freeze the user's time remaining while they upload.

  * Added "Upload reward to daily time limit" ("Upld rewrd daily") to the
  "Paths & options" window.  Use this option to allow the upload reward
  time to be added to the current user's time remaining and daily time
  limit (on), or just to their time remaining (off).

  * Good news for Sweden (and other countries with different keyboards).
  The BBS makes use of the new KickStart 2.0 "keymap.library".  If you
  are running KickStart 2.0, the BBS will use the keymap that is currently
  selected in the system.

  * Added bps rates of 115,200 and 76,800 to be allowed in the "Max" and
  "Min" gadgets in the "Modem configure" window.  Zooming dudes!

  * Bug fixed:  When using bps rate of 57,600, the download log would have
  corrupted file name strings.

  * Added new auto logon protocol called "MXC".  "MXC" is currently only
  available with "X-Comm" by Edward Lawford (soon to be released).  Note:
  Only works when "Allow pickup" is selected in the "FidoNet configure"
  window.

  * Added "Toggle list mode" to list files sub menu.  This allows the
  user to toggle between normal file list and short file list modes.
  Short file list mode only list the file name and description.

  * You can now define optional addresses and origin lines for NetMail.
  Use section "0" with no "Area" and the appropriate destination address
  in the "FidoNet mail distribution" window.

  * When using ZModem to transfer a file and the user does not have
  enough time remaining to complete the transfer (as compared to the
  estimated download time), the BBS will allow the transfer to start,
  but when the user's time remaining reaches zero the BBS will hang-up
  straight away.  Normally, if the estimate time is lower than the user's
  time remaining, the transfer is continued until completed, even when
  the user's time remaining reaches zero.  The user is told this before
  the transfer begins, allowing the user to ZModem resume the transfer on
  the next logon.

  * Added auto insert %U - Section of current menu.  This new auto insert
  will check the current menu for a menu function which requires a section
  number.  It will use this section number to look up the section name as
  defined in the "Sections configure" window, and insert it.  This allows you
  to use the same menu text file for many different menus.  The search
  starts from the top and looks for the first menu function that the user
  has access to that requires a section number.  Note: Section 100 and
  higher are ignored.

  * BBS menu function 36 - Set junk mail flag, now defaults to "No" when
  the user presses <RETURN>.

  * Option "-c" can now be used in the argument line at the CLI when
  running M A X's BBS, to turn off chat.

                 eg:
                     Run MAXsBBS -c



  Changes from version 1.50 to version 1.51:
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  * Unlimited optional file paths have been added.  Use a text file named
  "FilePaths.text" to add extra optional file paths.  Note: Each path
  must be terminated with either ":" or "/".  No blank lines allowed.  This
  text file must be found in the default files file path.  It is loaded
  only once at start-up and is shared by all nodes.

  * Bug fixed:  When the user sets their "Junk mail" flag, no matter what
  they selected it would always be turned on.

  * BBS menu function 42 - Send a private NetMail message via Hub, has been
  added.  This function allows the user to write a NetMail message to a
  destination which is routed through a Hub.  The "Extra" gadget contains
  the phone number pseudo section number as found in the "FidoNet mail
  distribution" window (ie. 101 - 121).  The "Filename/Name/Dest/Path" can
  hold an optional destination address (Zone:Net/Node.Point).

  * The BBS will now check to see if the "LZH" and "UnLZH" executable exists
  before attempting to unARC message packets.  Note: You must add the path
  to these gadgets (if you have not already).

                 eg:
                     C:Lha -m -N -q a

  * MC68030 versions now available on request.  The code is slightly smaller
  and is suppose to execute faster.

  * BBS menu functions 38 - Who's online, and 39 - Internode chat, should
  now be more stable.  It was possible before to have two nodes waiting
  on a reply from each other, causing both nodes to hang.  Note: If one
  node hangs for some reason and a user then selects the "Who's online"
  function on a different node, it will cause that node to hang as well.
  This is because the working node is waiting for a reply from the hanging
  node.

  * BBS menu function 39 - Internode chat, now remembers all keys pressed
  during a message interruption from another node.

  * The "Message import" window now has an extra count added (0/0/0).  This
  new count is the number of exports ie. Messages/Imports/Exports.

  * The BBS now has improved FidoNet point handling.

  * The "User editor" has an expanded "Last message read" gadget which now
  has a maximum value of 9,999,999.

  * When quoting from a message which is in a section with the "From" flag
  turned off, the user's initials are no longer inserted in the replying
  message.  For security reasons.

  * Bug fixed: When two different nodes are uploading at the same time
  the BBS would ask for descriptions of the files uploaded by the other
  node.

  * Bug fixed: When downloading files and the user is asked "Do you want
  to download your marked files?" (line 307) and the user hits "Y" or "N"
  too quickly, the BBS would lock-up (want to crash someone's BBS who have
  not got their v1.51 upgrade yet... :-)).

  * Bug fixed: Cross linking sections was not working correctly.

  * Some other minor bugs fixed.

  * Have you noticed the change in the "About..." window yet (Hint: Turn
  up the volume)? :-)


Version 1.53
------------

This is a bug fix release: ZModem send could add garbage into a file after
having several xfer errors.  Now Fixed.  Also added nice looking bar graph
just so you know this is the REAL MAXs BBS 1.53!  FastTerm has also been
fixed.


Version 1.54
------------

Removed back door.  Apparently a few MAXs BBS's have been hacked and no
one is sure how.  It's possible some smart ass has worked out my back
door.  It was a tricky one, the password changed every minute and used
16 bit and 32 bit CRC to calculate a 10 digit password.  Impossible
to calculate it by hand in one minute, and required a special program
(which there is only one copy of) to do it.  But just in case somebody
has worked it out I have removed it... Don't forget that door programs
can have back doors in them...  But you can rest assured that MAXs BBS
version 1.54 now has NO back doors. 


             
                                *     *     *

