Access Color BBS

        

                                   Version 2.4

        

                       Written by Chris Serino & Ed Baisel

        

                  Documentation by Carmen Izzi Jr. & Tim Taylor

        

        

        



































        





        


        

        Access Color BBS Version 2.4                   Copyright (c) 1991

        

        

        

        

        

        

        

        

                                Table of Contents

        

        

                  Table of contents                                i

                  Shareware Notice                                ii

                  Menus Explained                                  1

                  Getting Started                                  5

                  Creating Menus                                  10

                  Configuring Your System                         16

                  Starting the BBS & Local Logins                 18

                  Uploads & Downloads: GroupsList.sys             20

                  Advanced Features                               23

                  Techinical Reference                            26

                  Misc. Notes                                     29

                  Appendix A: Menu Options Subroutines            30

                  Appendix B: Color Codes                         32

                  Appendix C: AcLogin2 Commands                   34

                  Order Form                               last page

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

                                        i







        





        


        

        Access Color BBS V2.4                          Copyright (c) 1991

        

                          Access Color Bulletin Board System V2.4

        

                                  Copyright 1990,1991 by

                                 Chris Serino & Ed Baisel

        

             Note  that  this  software has not been  released  into  the

             public  domain. It may be freely distributed, if and only if

             all  files  of this archive remain intact and no  files  are

             added or removed & my copyright notices and "ShareWare" logo

             remain intact. 

        

             ACBBS  V2.4  is  not  freeware.  You are free  to  use  this

             application for a maximum of 60 days for evaluation purposes

             only.  If you like this application and want to benefit from

             future  upgrades  as  well  as  to  contribute  towards  its

             development,   then   you   are  encouraged   to   register!

             Registration  is  only $25.00 and will entitle you  to  free

             upgrades.

        

             The  Shareware  concept allows the user a chance to  try  an

             application    before   buying   actually   purchasing   the

             application.   Basically it works like this, if you like the

             application and continue to use the application then you are

             requested  to  send  in  the  indicated  fee  and  become  a

             registered  user.  If  you do not like the  application  and

             don't  use  it pass it along to someone else or destroy  all

             copies  you have.  We fully support the sharware concept and

             encourage  you  to also support it. Now it is impossible  to

             police  such  a system, the system is based upon  trust  and

             honesty.  But  non-registered  users will not  receive  free

             upgrades,  and non-registered users will not be part of  the

             growing AcBBS Sysop community and as such will be shunned by

             all  registered  users.  As such you will in fact  be  alone

             with  no  other support.  So please pay the fee  and  become

             part of the growing community of AcBBS Sysops.

        

             There  is also a $10.00 registration fee if you wish to  use

             the  Network  mail options of ACBBS V2.4.  Upon paying  that

             fee you will be given a Node Number and Polling schedule.

        

             To  register send a check or money order in US funds  (only)

             along  with  the registration form found at the end of  this

             documentation to:

        

             ACBBS HQ "The DUTCHESS CoCo BBS"

             co:Chris Serino

             22c Chelsea Ridge DR

             Wappingers Falls,Ny 12590

        

        

        

                                       ii



        





        


        

        Access Color BBS V2.4                          Copyright (c) 1991

        

        Menus Explained

        ---------------

        

             Before  running  into the actual setup and running AcBBS,  a

        little pre-planning will make things run a whole lot smoother. So

        to  begin with, a description of the menus and access flags is in

        order.

        

        First off, if you are familar with OS9's directory structure then

        understanding  menus  ia a breeze. OS9's directory  structure  is

        tree  shaped,  only  it's an upside down tree, and  AcBBS'  menus

        follow a similar format. Take the following figure as an example:

        

                                     MENU0

        ------------------------------------------------------------------

        |                    |                     |                  |

        MENU1                MENU2                 MENU3            MENU4

        --------             -------               -------          -----

        |      |             |     |               |     |            |

        MENU5  MENU6------MENU7    MENU8           MENU9 MENU10----MENU11

        

        As you can see there is a root menu, menu number 0 and from there

        all  other  menus branch off of the root menu. Menu numbers  need

        not  be in order as shown in the figure, as a matter of fact  you

        will want to limit the menus numbered 1-20 to message bases only.

        Use menus from 21-99 for any purpose except running the functions

        for  operation  of a message base. The reason being that  Version

        2.4 is limited to 20 message bases and menu numbers 1 thru 20 are

        the only menu numbers capable of supporting message bases. 

        

        From the figure Menu1 thru Menu4 is the first level of menus from

        the  root menu, Menu5 thru Menu11 are the second level. How  many

        levels you create are only limited to the maximum amount of menus

        version 2.4 supports. Each menu level deeper does not require any

        further  amount of system RAM so depth does not become a problem.

        Each  menu  is capable of supporting 23 options, so a fully  used

        menu system can support a maximum of 2,300 options!  

        

        Now  each menu is capable of having what is called a bulletin.  A

        bulletin  can  be used to display information pertaining  to  the

        menu.   To create a bulletin for a menu all that needs to be done

        is  create  a file called BullX.txt, where X is the menu  number.

        The  BullX.txt  file can be created using a text formatter,  word

        processor  or even OS9's build command. Each menu need not have a

        bulletin,  bulletins  are  optional.   It's  good  to  know  that

        bull0.txt,  the  bulletin  for the root menu number 0  is  always

        displayed upon login, all other bulletins are display if the user

        moves  to that menu, and are only displayed the first time a user

        accesses  that menu.  With Bull0.txt you can use that buletin  to

        display  important information like, the BBS will be down all day

        saturday,  ect.   The reason Bull0.txt is always displayed  to  a

        user  is  because after the login process is completed  the  user



                                       1





        Access Color BBS V2.4                          Copyright (c) 1991


        always ends up at menu number 0.

        

        Now  a  look at access flags, there are a total of  forty  access

        flags,  depending upon how you configure your system you will set

        certain access flags for menus and options that will allow a user

        access  to a menu or an option. Look at access flags as if it was

        a  switch.   If the switch has been turned on the the user  needs

        that  switch  set in the userlog, if the user doesn't  have  that

        switch  set  then the menu option is not displayed to that  user.

        Looking at the flags we can number the flags as follows:

        

                   0000000001111111111222222222233333333334

        Flag #     1234567890123456789012345678901234567890

        

        Flag       0000000000000000000000000000000000000000

        

        For  each  menu option you will be required to set up the  access

        flags,  and  each user will be given a default access flag  level

        upon  registering  as determined by you during the setup  process

        (next  section).   Now  to understand access  flags,  assume  the

        following  conditions  for our example, all new registering  user

        will       have      the      first      flag      turned      on

        (1000000000000000000000000000000000000000).  It's a good idea  to

        at  least  have one flag set so that you can downgrade an  access

        level.  Now lets say on our root menu <Menu0> we have options  to

        access  the  database, access the message bases, access the  game

        area,  and  logoff. We have decided not to run an "open" BBS.  By

        "open"  I mean whether or not we confirm new users. In this  case

        all new users will be confirmed.

        

        Let's  say on the root menu we have decided that each menu option

        will  require a flag set in order to access that option. Here  is

        how our sample options look with the access flags:

        

        Database 1100000000000000000000000000000000000000

        Messages 1010000000000000000000000000000000000000

        Games    1001000000000000000000000000000000000000

        Logoff   1000000000000000000000000000000000000000

        

        Now  we  had  decided all new users would need  to  be  confirmed

        before  opening  access to the functions of the BBS. The  default

        flags  a user is assigned was the first flag set, all others off.

        So  a  new  user would only gain access to  the  logoff  function

        because  only  access flag one is set for him.   Database  access

        requires  flag  1 and 2 set, messages require 1 and 3 set,  games

        require  1  and  4 set.  Logoff is the only  function  were  flag

        number  1  is set.  If we wanted the user to have access  to  the

        games  then the user would need both flag #1 and flag #4 set.  It

        doesn't  matter  if  the user had both flag #1 and  flag  #5  set

        because none of the options use flag #5. Think of it this way, if

        an  option  has six flags set, the user would need the  same  six

        flags set in order to gain access to that option.

        

        For  now sit down and plan out the basic menus, decide whether or

        not  that  menu  will  support a message base.   These  are  some



                                       2





        Access Color BBS V2.4                          Copyright (c) 1991


        important points to keep in mind:

        

        ::Always  have  an exit from the menu, whether it's back  to  the

        previous menu or to another menu.

        

        ::Make logoff easily accessable, if logoff is several menu levels

        back  people  may  take  the short-cut  of  just  dropping  their

        connection instead of logging off.

        

        ::Each menu has predefined keys for certain functions, ie L and G

        for logoff/goodbye, A for screen mode change, B for bulletin, and

        X  for  expert mode. Even though B is the only option that  AcBBS

        sets up automatically for display in a menu, if a bulletin exists

        for  that menu, all the other keys are active but don't  display.

        Try  to  limit any use of the B key on a menu if you will have  a

        bulletin  for that menu. Reason: If a bulletin exists then  after

        all  the defined options are displayed AcBBS adds another  option

        called  bulletin and uses an access key <key the user presses  to

        access  the  option> of B. If you use B for an option and have  a

        bulletin  then  both your defined option and AcBBS'  auto  option

        appear  on  the  menu with the same access key.   All  the  other

        pre-defined  keys  will be ignored if you use that access key  on

        your own defined option.

        

        Let's  do  the  paperwork  for two menus, the main  menu,  and  a

        message base for the main menu.

        

        The  main  menu  will  have options to logoff, see  the  last  20

        callers,  list  the userlog, change the expert mode,  access  the

        general  message base. The general message base will have options

        to read, write, scan for newmail, logoff, return back to the main

        menu,  and  list the userlog. Use the following format to  define

        the menu structure:

        

        What  flags  will the new registers have set?: Flag #1  set,  all

        others off.

        

        Menu0:

        Will this be a message base (1-20 only)?: No

        What is the name of this menu?: Generic BBS Main Menu

        Is there a bullX.txt file?: Yes

        Options:

        Name                 Key        Access Flags Set

        Bulletin              B          Predefined

        Logoff                L          No flags set

        Display last callers  D          1

        User log list         U          1

        Menu Mode             X          1

        Screen Mode           A          1

        General Message Base  G          1

        Comments: New user have access to all options on main menu.

        

        Menu1:

        Will this be a message base (1-20 only)?: Yes

        What is the name of this menu?: General Message Base (Mail)



                                       3





        Access Color BBS V2.4                          Copyright (c) 1991


        Is there a bullX.txt file?: No

        Options:

        Name                 Key        Access Flags Set

        Return to main menu   M          1

        Logoff                L          no flags set

        User log list         U          1

        Read message          R          1

        Write message         W          1,2

        Scan New Mail         S          1

        Comments: New users can read messages, but can't write messages

        

        For  each  menu continue to create this form, remember  to  write

        down  all  info  about a menu. The next section  deals  with  the

        actual  set up. This information will be needed after setting  up

        the  BBS' files. So place it to one side. For a hint of  commands

        see appendix A.










































                                       4





        


        

        Access  Color  BBS V2.4                       Copyright  (c) 1991

             

        NOTE:  This  Documentation  Assumes that the User has  a  Working

        Knowledge Of OS9 Level II.

        

             ************************************************************

             Before  we  get started you will Need to have the  following

             commands installed:

             A '/DD' Descriptor in your OS9-BOOT     

             SHELL+ V2.1 or higher

             RUNB, SYSCALL, INKEY, GFX2 (MERGED TOGETHER and in memory)

             TMODE

             ************************************************************

        

        

        Getting Started

        ---------------

        

        Decide  where the execution and the working data directories will

        reside  for  use with AcBBS. This could be whatever you like  for

        example, you could use your current working directory to hold all

        your  acbbs  data modules and your current commands directory  to

        hold  all  the executable modules. Or you may decide to create  a

        directory  which has a commands and a data directory just for the

        BBS.  It's  your choice, write down on a piece of paper what  the

        full pathnames are for both the execution and the data directory.

        

        As  an  example suppose we have one hard drive and we decided  to

        create  a directory on /H0 called AcBBS and have a working and an

        execution  directory  in AcBBS for the BBS.  We have decided  the

        names  for  the  directories  would  be  CMDS  for  the  commands

        directory  and  DATA  for the data directory.   Now  using  OS9's

        makdir utility create the directories as follows:

        

             Makdir /H0/ACBBS

             Makdir /H0/ACBBS/CMDS

             Makdir /H0/ACBBS/DATA

        

        For  our  example then the full pathname for the  working  (data)

        directory  would be --> /H0/ACBBS/DATA, and the full pathname for

        the commands directory would be --> /H0/ACBBS/CMDS.

        

        Decide how you will have the directories set-up and then refer to

        both  pathnames when ever the docs mention commands directory  or

        data directory.

        

        Unpak  and read the docs on "CD" and get them set. Once you  have

        decided  which  CD is right for your setup merge that  with  'IO'

        Example:

        

             OS9: Merge IO Cd >IO1 <ENTER>

        

        Next  you  will  need  to copy the  following  programs  to  your

        Commands Directory and set the execution attributes: 



                                       5





        Access  Color  BBS V2.4                       Copyright  (c) 1991


        

             acbbs -       System Module

             acbbs2 -      System Module

             bbs1 -        8k Of merged system modules

             bbs2 -        8k Of merged system Modules

             bbs3 -        8k Of merged system modules

             bbs4 -        8k Of merged system Modules

             bbs5 -        8k Of merged system Modules

             bbs6 -        8k Of merged system Modules

             io -          8k Of merged system Modules

             filestats -   File statistics program

             sysedit -     Remote system editor

             sysedit5 -    System editor

             rungames -    Runs outside programs

        

             Now Copy The Following Modules to "/DD/SYS":

        

             events.sys -        Flag File For Net-Work Mail

             mailtime.sys -      Time Log for Running Events

        

            

        Now copy the following files to your working directory:

        

             automess.txt   - This is commonly used as a user changeable

                              last message to others logging on.

             logtext.txt    - This  is  the  non-ansi,  non-os9,  logon

                              screen.

             logansi.txt    - This is the ansi, os9, logon screen.

             logoff.txt     - This  is  the text  file  displayed  upon

                              logoff.

             modemio.sys    - Modem initialization string.

             newsletter.txt - As  the  name  indicates  this  is   the

                              newsletter that the sysop uses to inform

                              members of changes, ect.

             register.questions  -  Text  file that holds  the questions

                                    asked  of  users  upon  registration.

                                    Maximum of ten questions.

             register.log   - Log file that holds the  answers  to  the

                              questions in register.questions.

             register.txt   - Text file displayed upon registering for 

                              access.

             trashcan.sys   - Illegal or unacceptable names.

             aclogin2.dat  - Login script file. Determines order of login

             intbbs         - Script file loads acbbs modules in memory.   

           

        Now  create  a  file called AltDir.dat, in that file  have  on  a

        single  line the pathname for your working directory. Using OS9's

        build command and the example directories from above:

        

             Build /h0/acbbs/data/AltDir.dat

             ?/h0/acbbs/data

             ?<press enter>

        

        Now  if you have not done so you will need to merge RunB,  Inkey,

        Syscall,  Gfx2  into a module called RunB. Using OS9's merge  and



                                       6





        Access  Color  BBS V2.4                       Copyright  (c) 1991


        attr  commands  type  the  following:

        

              chx /h0/cmds ** Use your current os9 commands directory

              merge Runb inkey syscall gfx2 >/H0/ACBBS/CMDS/Runb

              attr /H0/ACBBS/CMDS/Runb e pe

        

        Note:  Replace  /H0/ACBBS/CMDS with the execution  directory  you

        decided  to  use  for  the  BBS.  

        Note2: If your BBS commands directory will be the same as you OS9

        commands  directory  change the name of RunB to  Runb.old  first.

        Then use this command line for merge:

            merge Runb.old inkey syscall gfx2 >/H0/CMDS/Runb

        Note3:  Runb,  Inkey, Syscall, Gfx2 must be in your OS9  commands

        directory.

        

        Finally make sure that the following programs are located in your

        BBS' execution directory:

        

             LS    - A single line directory lister.

             TMODE - OS9's tmode command.

             COPY  - OS9's copy command.

             AR    - A public domain archive utility.

        

                         **Access Color BBS -- Configuration**

                      

        Ok  now we are ready to start configuring the BBS to your  needs.

        First   change your working directory and execution directory  to

        your BBS data and execution directories.  

        

        Now type: intbbs

        After  a  minute or so all the AcBBS modules for the BBS will  be

        loaded into memory.

        Now from a shell prompt Type: Sysedit5 <ENTER>

        

        In  a couple of seconds the screen should turn Black and a little

        window  should  appear  showing BBS credits.  Tap a key  and  the

        program  will tell you that it couldn't Find "/dd/sys/Acbbs.sys".

        and  it will then prompt you for your Main Data Directory.  Enter

        in  your  BBS' working directory (ie /H0/ACBBS/DATA).   You  will

        then  be  prompted  for  the File directory(s).   These  are  the

        directories  that will store your files for downloading.  For now

        enter  the working directory again, we will cover handling  files

        for down loads and uploads later, then press [ENTER].

          

          NOTE: You Must enter at least One File directory.

        

        Once  you have completed that, the screen will clear and you will

        see a small paragraph that mentions how to use the editor.  While

        at  this  prompt  press  "S" and a overlay  window  will  appear.

        Sysedit5  creates the "Config.sys" which has a number of  options

        available. Below is a description of the configuration options:

          

          A) # Of Callers          : Number of calls the bbs has received

        

          B) # Of Downloads        : Number of files downloaded.



                                       7





        Access  Color  BBS V2.4                       Copyright  (c) 1991


          

          C) # Of Uploads          : Number of uploads.

          

          D)   Newsletter          : Date that the NewsLetter was  last

                                     updated.   When a user logs on,  and

                                     his  last date online is older  then

                                     the   Newsletter  date  he  will  be

                                     prompted to view the newsletter.

                                     

          E) Sysop's Name         : The Sysop(Owner,Operator) of this BBS

          

          F)  New  User  Time      : Time that a new user  is  allowed

                                     online each day (1-255).  Divide the

                                     actual  time  in minutes, by  5  and

                                     enter  this value here (ie  60/5=12,

                                     enter 12 for an hour limit)

                                 

          G)  U/D Ratio             : How Many Files can a user  download

                                     for every file they Upload (1-255)

                                     

          H) Status Screen Clock     : If Yes, then a  clock  will  be

                                     displayed  in  the upper  left  hand

                                     corner of the main status window.

                                   

          I) Screen Saver Active   : If YES, then the main status window 

                                     will  blank. The main status  window

                                     blanks  after the BBS has been  idle

                                     for one minute.

                                     

          J) Screen Saver Prompt  : If Yes, then when the Screen Saver is 

                                     active   a  prompt  will  appear  at

                                     random  locations on the main status

                                     screen when the screen is blanked.

                                   

          K) Phone Number Check    : If YES, then when a user Logs on the 

                                     BBS  every  one in six  logons  will

                                     bring   up  an  additional  security

                                     check  asking the member to complete

                                     the  last  4 digits of his phone  #.

                                     Also  if at any time the password is

                                     entered  incorrectly, the user  will

                                     be  asked  to  complete the  last  4

                                     digits of his phone number.

                                 

          L)  Auto  Ansi-Detect    : If YES, then on terminal  packages

                                     that  support the ansi return cursor

                                     position  AcBBS  will  automatically

                                     set  the  screen  mode to  ANSI.  On

                                     terminal packages that don't support

                                     ANSI codes fully, or no ANSI support

                                     is enabled a prompt will ask for the

                                     screen  mode to use  while accessing 

                                     the BBS.

                                     

          M) New user Access Flags : These are the access flags  a  new



                                       8





        Access  Color  BBS V2.4                       Copyright  (c) 1991


                                     user will be given upon registering.

                                     Set  this  to what was  decided  new

                                     users  would  have from the  section

                                     dealing with menus.

                                     

        Once  you have set the configuration to how you like then hit "Q"

        to save it. You can at any time edit that configuration by either

        using  Sysedit5  OR  from a shell prompt, with  the  bbs  modules

        loaded, by typing "Fixstats <ENTER>"

           

        Next  select  E  for  the edit menu, now select  U  to  edit  the

        userlog.   Sysedit5 will now ask for the sysop's name, enter your

        full  name here. Next Sysedit5 asks for your password, enter  the

        password  you  will use as the sysop.  Important Note: Make  sure

        you  enter  the  password  in all capital  letters.   Follow  the

        remaining prompts, answer all questions.










































                                       9





        


        

        Access Color BBS V2.4                          Copyright (c) 1991

                                     

        

                         **Access Color BBS -- Menus** 

        

        Now  grab  your notes from before and let's get the menus  setup,

        we're  getting closer to making a test run of the BBS. We have to

        create the menus.

        

        While we are still in Sysedit5 press E for the edit menu and then

        M  for menus. Sysedit5 asks for which menu to edit, enter 0 so we

        can  set  up the root menu. Sysedit5 asks for a menu name,  enter

        the  name  that  your root menu will have (ie Main  Menu,  Sloppy

        Joe's Main Menu).  Now a new screen appears with the menu name at

        the top, there is a list of options, the options are:

        

        N  Name, change the menu name.

        E  Edit an option

        C  Copy an option to a blank option <makes copies>

        D  Delete an option, does as it's name implies.

        M  Move  an  option,  allows you to swap  the  positions  of  two

           options.

        S  Sorts options by Key.

        

        Now  for  each menu you will add you will select the number  that

        has  the  current  name of <Blank>. Once you do this a  new  form

        appears on the screen. See figure:

        

                  Option : <Blank>

                  Edit the option's :

                  1. Name   ='<Blank>'

                  2. Key    =' '

                  3. Descrip='<Blank>'

                  4. Program='<Blank>'

                  5. Params ='<Blank>'

                              0000000001111111111222222222233333333334

                  6. Access ='1234567890123456789012345678901234567890'

                  P. Print menu to printer.

        

                  Enter a number or <ENTER> to quit:

                   

        :::The  option's  name  is just the name that's  printed  on  the

        screen  when the user presses a key and is displayed on the  main

        status window. 

        

        :::The option's program is the subroutine module that is run when

        ever  that  option  is selected. For example,  an  option  called

        "Post" for posting messages, would call the "Enter" program to do

        its work. 

        

        :::The  options  key  is just the key that you press to  run  the

        option. Make sure that this key does not duplicate another option

        key. 

        



                                       10





        Access Color BBS V2.4                          Copyright (c) 1991


        :::The  descriptions  are just a 32 character description  that's

        printed on the menu.  When you see something like "Read messages"

        or "goto file system" that's the description. 

        

        :::The  parameters are special options which as passed to certain

        modules  when they run. For example, any of the modules that deal

        with  the  file system (dload,upload,listfile) need  a  parameter

        which tells them what directory to go to. See Appendix A.

        

        :::Access is determined by an array of 40 boolean flags. When one

        of  the  40  flags is set that means that that option  will  only

        appear to users who have that flag set in their user access flags

        (which  also consist of 40 flags). An option can have any  number

        of  the 40 flags set, but a user can only view or use that option

        when he has the same flags set in his userfile.

        

        NOTE:  You  should reserve the menus #1-20 for message  bases  as

        those  are the only menu numbers that the message bases are  able

        to  work  with at the present time.  The next version should  fix

        that limitation.

        

        ======

        Please see Appendix A at the end of these docs for information on

        what  parameters  you'll need and special conditions for each  of

        the subroutines provided. 

        ====== 

        

        Below is some examples of using the built in subroutines:

        

            Menu  -    This mod is the program to change to  another menu

                       the  param is the number of menu to change to. The

                       following is an example of a menu option to change

                       to  the games menu.  The game menu is menu  number

                       34 in this example.

        

                  Option :games

                  1. Name   ='Games

                  2. Key    ='G'

                  3. Descrip='online game menu'

                  4. Program='menu'

                  5. Params ='34'

                              0000000001111111111222222222233333333334

                  6. Access ='1234567890123456789012345678901234567890'

                  P. Print menu to printer

        

                        The  color of the access flag will tell you if it

                        is on or off.

        

            Listtext  -  This is a program to list text files. The  file

                         can  contain acbbs color codes and it will  turn

                         them  to colors if the user has ansi or os9  on.

                         If  the  user has ascii on, it will strip  these

                         codes  and a user will never see the codes.   In

                         the  following example listtext will be used for

                         the newsletter.



                                       11





        Access Color BBS V2.4                          Copyright (c) 1991


        

                   Option :newsletter

                   1. Name   ='newsletter'

                   2. Key    ='N'

                   3. Descrip='list news letter'

                   4. Program='listtext'

                   5. Params ='newsletter.txt'

                               0000000001111111111222222222233333333334

                   6. Access ='1234567890123456789012345678901234567890'

                   P. Print menu to printer

        

            Enter  -     This mod is used for entering a message  in  a

                         base.  The  following example is using enter  to

                         enter a message into message base number 1, that

                         is being used for the os9 sig. This option would

                         appear on Menu1.

        

                    Option :enter

                    1. Name   ='enter'

                    2. Key    ='E'

                    3. Descrip='enter a os9 message'

                    4. Program='enter'

                    5. Params ='.'

                                0000000001111111111222222222233333333334

                    6. Access ='1234567890123456789012345678901234567890'

                    P. Print menu to printer

        

            Read  -      This  mod  is used to read a  message  from  a

                         message  base.  The following is a example  like

                         the enter above. This would also be on Menu1.

        

                    Option :read

                    1. Name   ='read'

                    2. Key    ='R'

                    3. Descrip='read os9 messages'

                    4. Program='read'

                    5. Params ='.'

                                0000000001111111111222222222233333333334

                    6. Access ='1234567890123456789012345678901234567890'

                    P. Print menu to printer

        

            Newmail  -   This mod checks for new messages in all message

                         bases read by the user. Note: the user must have

                         read from a base before this will work for him.

        

                    Option :new mail

                    1. Name   ='new mail'

                    2. Key    ='N'

                    3. Descrip='check for new messages'

                    4. Program='newmail'

                    5. Params ='.'

                                0000000001111111111222222222233333333334

                    6. Access ='1234567890123456789012345678901234567890'

                    P. Print menu to printer

        



                                       12





        Access Color BBS V2.4                          Copyright (c) 1991


            Download  -     This mod is used for a file base to  download

                         files.   The following is an example of download

                         used in the os9 sig.

        

                    Option :download

                    1. Name   ='download'

                    2. Key    ='D'

                    3. Descrip='download a os9 file'

                    4. Program='download'

                    5. Params ='/dd/bbsfiles/os9'

                                0000000001111111111222222222233333333334

                    6. Access ='1234567890123456789012345678901234567890'

                    P. Print menu to printer

        

            Upload  -      This  mod is used for a file  base  to  upload

                         files.  The  following is an example  of  upload

                         used in the os9 sig.

        

                    Option :upload

                    1. Name   ='upload'

                    2. Key    ='U'

                    3. Descrip='upload a os9 file'

                    4. Program='upload'

                    5. Params ='/dd/bbsfiles/os9'

                                0000000001111111111222222222233333333334

                    6. Access ='1234567890123456789012345678901234567890'

                    P. Print menu to printer

        

            Listfile  -     This mod is used to list available files in a

                         file  base.   The  following is  an  example  of

                         listfile used in the os9 sig.

        

                    Option :list files

                    1. Name   ='list files'

                    2. Key    ='L'

                    3. Descrip='list os9 files'

                    4. Program='listfile'

                    5. Params ='/dd/bbsfiles/os9'

                                0000000001111111111222222222233333333334

                    6. Access ='1234567890123456789012345678901234567890'

                    P. Print menu to printer

        

            Findfile  -   This mod is used to find a file in a file base.

                         The  following is an example of findfile used in

                         the os9 sig.

        

                    Option :find file

                    1. Name   ='find file'

                    2. Key    ='F'

                    3. Descrip='find an os9 files'

                    4. Program='findfile'

                    5. Params ='/dd/bbsfiles/os9'

                                0000000001111111111222222222233333333334

                    6. Access ='1234567890123456789012345678901234567890'

                    P. Print menu to printer



                                       13





        Access Color BBS V2.4                          Copyright (c) 1991


        

            Logoff  -      This mod logs a user off the system. Note:  If

                         there  is no menu option L or G on a menu and  a

                         user  hits the L or G it will log them off  that

                         way also.

        

                    Option :logoff

                    1. Name   ='logoff'

                    2. Key    ='L'

                    3. Descrip='logoff system/goodbye'

                    4. Program='logoff'

                    5. Params ='.'

                                0000000001111111111222222222233333333334

                    6. Access ='1234567890123456789012345678901234567890'

                    P. Print menu to printer

        

            Ansi -        Will toggle ansi/ascii/os9.

        

                    Option :toggle

                    1. Name   ='toggle'

                    2. Key    ='A'

                    3. Descrip='toggle ansi/ascii/os9'

                    4. Program='ansi'

                    5. Params ='.'

                                0000000001111111111222222222233333333334

                    6. Access ='1234567890123456789012345678901234567890'

                    P. Print menu to printer

        

            Xpert -      Expert mode toggle.

        

                    Option :xpert

                    1. Name   ='xpert'

                    2. Key    ='X'

                    3. Descrip='expert mode toggle'

                    4. Program='xpert'

                    5. Params ='.'

                                0000000001111111111222222222233333333334

                    6. Access ='1234567890123456789012345678901234567890'

                    P. Print menu to printer

        

            Chat -       Pages sysop for a chat.

        

                    Option :chat

                    1. Name   ='chat'

                    2. Key    ='C'

                    3. Descrip='chat with sysop'

                    4. Program='chat'

                    5. Params ='.'

                                0000000001111111111222222222233333333334

                    6. Access ='1234567890123456789012345678901234567890'

                    P. Print menu to printer

            

        AcLastusers -Lists the last 20 callers.

        

                    Option :lastcall



                                       14





        Access Color BBS V2.4                          Copyright (c) 1991


                    1. Name   ='lastcall'

                    2. Key    ='L'

                    3. Descrip='list last 20 callers'

                    4. Program='lastusers'

                    5. Params ='.'

                                0000000001111111111222222222233333333334

                    6. Access ='1234567890123456789012345678901234567890'

                    P. Print menu to printer

        

            Userlist -   Lists the bbs's users.

        

                    Option :listusers

                    1. Name   ='listusers'

                    2. Key    ='L'

                    3. Descrip='list users'

                    4. Program='userlist'

                    5. Params ='.'

                                0000000001111111111222222222233333333334

                    6. Access ='1234567890123456789012345678901234567890'

                    P. Print menu to printer

        

            Userutil  -    User stats editor for use by users  to  change

                         their stats.

        

                    Option :changstats

                    1. Name   ='changestats'

                    2. key    ='Y'

                    3. Descrip='change your settings'

                    4. Program='userutil'

                    5. Params ='.'

                                0000000001111111111222222222233333333334

                    6. Access ='1234567890123456789012345678901234567890'

                    P. Print menu to printer

        

            Rungames  -   Used for running online games. In the following

                         example  rungames is used to start a game called

                         hangman.

        

                    Option :hangman

                    1. Name   ='hangman'

                    2. key    ='H'

                    3. Descrip='play hangman'

                    4. Program='rungames'

                    5. Params ='hangman'

                                0000000001111111111222222222233333333334

                    6. Access ='1234567890123456789012345678901234567890'

                    P. Print menu to printer

        

        Now  after creating each menu, press enter until you get back  to

        sysedit5's menu line. Now press E to edit and I to initialize the

        message  bases.   For  each  menu you created that  will  have  a

        message base enter the menu number. Repeat this process until all

        the  menus  you  want  message bases on  have  been  initialized.

        Remember only menus 1 through 20 can have message bases.




                                       15





        


        

        Access Color BBS V2.4                          Copyright (c) 1991

        

        Configuring your system.

        

        There  are  files here that need to be edited to  configure  your

        system.

        

        Automess.txt:     This is the auto message, you need to edit this

                         and  put a message the users will see after they

                         log on.

        

        Logtext.txt:       This  is the logon message the users will  see

                         before  they log on to the BBS. This is the file

                         for  ASCII  type terminals and may  not  contain

                         color codes.

        

        Logansi.txt:      This  is the logon message the users  will  see

                         before   they  are asked to login. This file  is

                         used  for  terminals using ANSI or OS9  graphics

                         modes. Can use color codes.

        

        Logoff.txt:      This is the message the users will see when they

                         logoff the BBS. May contain color codes.

        

        Modemio.sys:      Initialization  string sent to your modem  when

                         the  BBS  is first started and each time a  user

                         logs off the BBS.

        

        Newsletter.txt:    Changes, updates, and other notices should  go

                         into this file. Each time you  update  this file

                         you  should  update  the newsletter  date  using

                         fixstats. Color codes may be used.

        

        Register.log:     This file keeps the names of all new users  and

                         dates  and  times  for new  registers.  You  can

                         delete  this  when  it gets big and it  will  be

                         created by the bbs the next time a new user logs

                         on.   Also  will contain all the answers to  the

                         questions found in register.questions.

        

        Register.txt:     This  file  holds info for new  users  to  read

                         before  they fill out the registration form. Use

                         this  file  to explain BBS policy, ect. May  use

                         color codes.

        

        Trashcan.sys:     As it name implies all the trash user names and

                         banned  user names should be kept here one to  a

                         line. When a new user selects R to register this

                         file  is checked to see if the name the user  is

                         using  is in trashcan.sys. If found that user is

                         not allowed to register and the BBS hangs up.

        

        Mailtime.sys:      This file contains three run dates and is used

                         for  the Network mail package. Although  Network



                                       16





        Access Color BBS V2.4                          Copyright (c) 1991


                         mail   is   not  included with AcBBS  Ver.  2.4,

                         you can use the third entry to automatically run

                         FileStats  on a daily basis. More on this in the

                         section dealing with advanced features.

        

        NoTime.txt    :   This is the text file that is listed to an user

                         when his time has expired. May use color codes.

        

        Aclogin2.dat:      This  is the login file order.  It  determines

                         in which order functions run during login and is

                         configurable  by you. Until you are  comfortable

                         using  AcBBS it is recommended that this file be

                         left  as-is. After you have an understanding  of

                         AcBBS  then read Appendix C on how to  customize

                         the login order.

        

        Register.Questions:  Contains  the questions asked of a new  user

                         upon registeration. May contain a maximum of ten

                         questions. No color codes.

        

        For  the  color codes and the usage of the color codes  refer  to

        Appendix  B.   You  can use the pre-defined files as is,  but  to

        personalize the BBS you should change these files.



































                                       17





        


        

        Access Color BBS V2.4                          Copyright (c) 1991

        

                            Running and local logins

        

        The  BBS  requires an 80 column type 2 window to start  from,  it

        must be initialized and have a shell running in it.

        

        For our example we will assume window 7 (hardware type 80 column)

        will  be the window we start the BBS in.  Switch to /w7 and  then

        set  your working directory to your AcBBS data directory and your

        execution  directory to your AcBBS execution directory. Now  type

        intbbs  to  load in the modules ACBBS will need.   When  complete

        then  type  RunBBS. AcBBS will respond with "What window  is  for

        status?".  You  may reply with any non initialized window, I  use

        /w15  the  last  window descriptor I have, you may use  any  free

        window (non-initialized, no shell running).

        

        Now the window you started AcBBS is your secondary status window,

        here  will  be displayed all timed activities <Net Mail  status>,

        all  connections  <baud rate, and time>, all dropped  connections

        <error  220>,  ect.  It is recommended that you don't  run  AcBBS

        concurrent  in your secondary status window, the no-block feature

        does  not  perform  correct all the time and you  may  experience

        lock-ups,  um actually, users may experience lock-ups during  the

        login  process.   Now hit the clear key until you reach the  main

        status window. The main status window will display the version of

        AcBBS  running,  the  last ten callers, and  a  flashing  message

        stating  it's waiting for callers. When a user logs on to the BBS

        your  main status window divides into several sections. The first

        is  a block across the top of the screen showing the connect time

        and  the  baud  rate, just below that block is  another  in  Red,

        showing  the  current members stat's (name, password,  ect),  the

        remaining screen divides into three more blocks, the left half is

        the  main  activity  area,  here all the  member's  activity  are

        displayed, from what keys he has selected, the current menu he is

        on,  ect.  The right hand is divided in a magenta box (top  half)

        and dark blue box (lower half).  The magenta box is the secondary

        activity  window  and  displays  what is going  on  when  certain

        options  are  selected (ie Downloading, shows searching  for  the

        file,  the  number  of blocks downloaded, the  number  of  errors

        encountered during downloading, ect). The dark blue box shows the

        current  time,  screen  mode,  time user has  been  online,  time

        remaining.

        

        From  your main status window you can control the user as if  the

        user was controlling things from his end. Just press and hold the

        ALT  key  and then press the key as if you were the user  on  the

        BBS.   Originally you didn't need to hold the ALT key, but Chris'

        cat was a CoCoNut too, and before long whenever the cat heard the

        modem connect it was up on the keyboard typing, throwing the user

        into total confusion.

        

        Doing  a local login is easy, there are two separate commands  to

        do a local login, login and local.



                                       18





        Access Color BBS V2.4                          Copyright (c) 1991


        

        Before  using either command you will need two type 2, 80 columns

        windows,  one  with a shell in it the other without a shell,  but

        defined  and initialized.  From the window with a shell (assuming

        all  AcBBS  modules  have been loaded using intbbs)  type  login,

        login  then  replies with "status window?". Reply with the  other

        type  2 window. From this point you will be doing a login just as

        if  you  had  called, but the BBS will still be  able  to  accept

        callers with no conflict between your login or the caller. 

        

        The second command local will not allow user to call in, it shuts

        the  modem  off,  sends out a speaker off command and  takes  the

        modem off hook.  This can be used to prevent callers from calling

        during the addition of new software, ect.

        

        As  sysop  the  login process will remain the same  as  a  caller

        except for one prompt. You will be asked if you want this call to

        register  in  the  last  callers list. This is  nice  because  it

        doesn't  taint  the number of callers and allows testing  without

        showing several calls from the sysop.  You can choose to register

        or not to register in the last callers list the choice is yours.

        

        If  you cannot login, user cannot login, go back over the  entire

        setup and make sure you have followed everything. If you continue

        to  experience trouble, then help is a phone call away. Two spots

        are  available  for  immediate  help, the  Dutchess  CoCo,  (914)

        838-1261,  or  the Applause BBS (203) 754-9598. Contact or  leave

        mail to either Chris Serino ( on the Dutchess) or Carmen Izzi Jr.

        (on the Applause). Either is willing to offer assistance, as well

        as  all the other AcBBS sites listed in the logoff.txt on  either

        BBS.

        

        From  this point read the section on setting up for downloads and

        uploads,  then  proceed onto the advance features  section.   For

        those who are programmers, read the technical section for tips on

        interfacing  to  AcBBS. Call and register on either the  Dutchess

        CoCo  or  the Applause BBS. There is a wealth of add-on  programs

        for  such things as a voting booth, private mail from the  sysop,

        adding a true guest account, ect. 



















                                       19





        


        

        Access Color BBS V2.4                          Copyright (c) 1991

        

                          Files: Uploads and Downloads

        

        Uploads  and  downloads  are  simple to add, you  may  have  even

        created menu options for it already, but there is some background

        information  which needs to be discussed before actually  setting

        up.

        

        Decide where you would want your files to reside, files can be on

        any device in any directory. For an example what I did was on the

        hard  drive  I use for the BBS I create a separate directory  for

        each  group that would have uploading and downloading  functions.

        Now   I  opted  to  split  uploads  and  downloads  into  several

        categories,  for  example all uploads go into a directory  called

        HOLD,  uploads confirmed but under thirty days on the BBS go into

        a directory called NEW, then those files over thirty days go into

        specific directories, ie GAMES, APPLICATIONS, UTILITIES, PATCHES,

        MUSIC,  ART,  TELCOM.  You could just as well have everything  in

        one  directory,  or  have the NEW, OLD, and HOLD. The  design  is

        totally up to you.

        

        Let's   continue  with  my  example  and  we  shall  create   the

        directories  needed, first off the COCO files go into a directory

        called  COCO,  so on /h1 I created a directory called  COCO,  and

        then created sub-directories for each of the categories mentioned

        above so a directory of COCO shows:

        

        Directory of /H1/COCO

        APPLICATIONS      ART      GAMES       HOLD

        MUSIC             NEW      PATCHES     TELCOM

        UTILITIES         GroupsList.sys

        

        Ignore  the groupslist.sys file for now more on that later.   Now

        fire  up  SysEdit5,  press the spacebar to  clear  the  copyright

        notice. The press E to Edit, and F for Files. Two overlay windows

        will  open and you will be prompted for a two character directory

        code.   There should be one already defined, AA and it should  be

        pointing to your AcBBS Data directory. We did this earlier in the

        setup so that AcBBS would not choke, now let's delete this entry.

        Type YY and then Sysedit5 asks for a two character directory code

        to  delete,  respond  with  AA  [Note:  After  pressing  the  two

        character code you do not need to press enter].  Sysedit5 deletes

        the directory, the two overlay windows clear and come back up and

        SysEdit5  again  asks  for a two character directory  code.   Now

        supply  it  with  XX, it ask for a full pathname  to  the  file's

        directory.  For our example we will supply /H1/COCO/APPLICATIONS.

        Sysedit5 will create the necessary files, continue to do this for

        each file area you have decided to setup.

        

        Now  we  have all the files setup, but we need to discuss a  file

        called  GroupsList.sys.   For uploads and downloads you  can,  if

        using my example create a separate download for each area <ugh!>,

        or  have  an option to list what is in each area <nice> and  then



                                       20





        Access Color BBS V2.4                          Copyright (c) 1991


        have   a   single  download  function  on  that  menu.  This   is

        accomplished   by  using  a  file  called  groupslist.sys.   What

        groupslist.sys  contains is path names to search when looking  to

        download  a  file, so for the download option on the menu I  used

        the  program called Dload, and the param was the pathname to  the

        coco  directory (ie /H1/COCO). What happens is dload first  looks

        for  a  file called groupslist.sys, if it finds it it knows  that

        there is a listing of pathnames to search when looking for a file

        to  download. If there is no groupslist.sys file then dload looks

        for  a  file  called fileslist.sys. If neither exist  then  dload

        error  outs.  We just created all the fileslist.sys files in  the

        above   paragraph  using  sysedit5,  now  we  shall  create   the

        groupslist.sys  file.  Using OS9's build command, and our current

        example type the following (remember replace your filenames where

        needed,  also  if you have only one directory that  you  download

        from  then  just feed the param in the menu option with the  full

        pathname  to that directory. There is no need for  groupslist.sys

        files then.)

        

                  Build /h1/coco/groupslist.sys

                  ?/h1/coco/applications

                  ?/h1/coco/art

                  ?/h1/coco/games

                  ?/h1/coco/music

                  ?/h1/coco/new

                  ?/h1/coco/patches

                  ?/h1/coco/telcom

                  ?/h1/coco/utilities

                  ?<enter> to end build session

        

        Now  what  happens is that dload will search each of these  paths

        until  it  finds the file that is needed to download.   You  keep

        downloads  organized  by categories and everyone is happy. Oh,  I

        see a hand in the back, yes, "What about uploads, do we specified

        the  same  parameters?".  Geez, always someone jumping  the  gun,

        "Sir, No, now sit down, shut up and pay attention, please!". 

        

        Handling  uploads  will  be  done  in a  similar  way,  only  the

        groupslist.sys  file will be in /H1/COCO/HOLD, and the very first

        line  must  have the pathname to the HOLD directory,  here's  the

        sample build session:

        

                  Build /h1/coco/groupslist.sys

                  ?/h1/coco/hold

                  ?/h1/coco/applications

                  ?/h1/coco/art

                  ?/h1/coco/games

                  ?/h1/coco/music

                  ?/h1/coco/new

                  ?/h1/coco/patches

                  ?/h1/coco/telcom

                  ?/h1/coco/utilities

                  ?<enter> to end build session

        

        Now  the parameter for the upload option shall be  /H1/COCO/HOLD.



                                       21





        Access Color BBS V2.4                          Copyright (c) 1991


        Here  is  what  happens, upload looks for a  groupslist.sys  file

        first, if it finds it it then looks in each pathname for the file

        name  that is being uploaded, if it finds a matching filename the

        user  is  told that the file already exists, it might not be  the

        same file, but prevents duplicate names from occurring. Now if it

        doesn't  find a match it then will upload the file into the first

        pathname  specified in the groupslist.sys file. That's the reason

        the hold directory must be first. Now if you don't split files in

        cateogories,  still  use a groupslist.sys file for  uploading  to

        prevent duplicate filenames (that's assuming you have at least an

        upload directory and a download directory).

        

        Hopefully  that explains the use of groupslist.sys file. Now it's

        time  to  throw  a monkey wrench into the works.   There  is  yet

        another  use for the groupslist.sys file when that file is  found

        in  the AcBBS data directory. To make matters worse <he he>,  the

        file  format  is different. Well these are in fact two  different

        files, the only thing in common is the name.

        

        GroupsList.sys for Filestats:

        The  program  filestats requires a file called groupslist.sys  to

        appear in the AcBBS data directory. It's format is:

        

                            pathname

                            Description

        

        To  take  our  example we would create  GroupsList.sys  with  the

        following information:

        

                  /h1/coco/applications

                  CoCo Application files

                  /h1/coco/art

                  CoCo Picture Files

                  so on and so on

                  ..

        

        Now some basic things, the pathname must exist and must contain a

        fileslist.sys  file <created by SysEdit5>. If not filestats  will

        error out. The description is limited to 40 characters or it will

        throw  off the file created by filestats for listing on the  BBS.

        Now  once  the groupslist.sys file is created and placed  in  the

        AcBBS  data  directory,  then  make sure  that  the  working  and

        execution  directories  are  set  to the AcBBS  ones.   Now  type

        Filestats,  in  a few minutes filestats will complete and  a  new

        file  will  exist in the AcBBS data directory. Use an  option  on

        your   menu   using  the  program  ListText  and  the   parameter

        *FileStats.txt*  <with the leading and ending asterisks>. Now all

        the  number of files available for downloading can be seen in one

        stat file.  

        

        Please step down the corridor onto advanced features.







                                       22





        


        

        Access Color BBS V2.4                          Copyright (c) 1991

        

                  o Allows  separation of Menu and Bulletin  files  from

                    main data directory.

        

                  o Allows auto running of Filesats program.

        

                  o Allows Sysop the option to create menu layouts or use

                    of the default menu layouts.

        

                  o Allows Sysop the option of screening usernames before

                    granting access to the board.

        

        

             Separate directory for Menus and Bulletins

             ------------------------------------------

                  Note:  Originally we had specified that this file point

                  to the AcBBS data directory.

        

                  AcBBS  now  allows the Sysop to put the menu files  and

                  the  bulletin files into a Separate directory.  This is

                  useful  in  two ways.  For one it helps to  reduce  the

                  amount of files already packed into the main AcBBS data

                  directory.  The second reason is it allows the sysop to

                  place  the  menus onto a ramdisk for faster loading  of

                  the  menus.   All  you  need  to do  is  move  all  the

                  menuX.sys,  menuX.txt,  and  bullX.txt files  into  any

                  other  directory  of your choice.  Then create  a  text

                  file  in the main data directory that contains the  new

                  directories  name.   As  an example I moved  all  these

                  files  into  a directory called Menus on my hard  drive

                  /H1.  Then while in my main AcBBS data directory I used

                  OS9's build command as follows:

        

                  OS9:Build AltDir.dat

                  ?/h1/menus

                  ?<press enter here>

        

                  Now when ever someone logs onto my BBS, AcBBS looks for

                  the  menu  and bulletin files in /h1/menus  instead  of

                  /h1/access  [My main AcBBS data directory].  You  could

                  have  placed  all the files onto a ramdisk  instead  of

                  /h1/menus  and  specified the ramdisk name in place  of

                  /h1/menus above.

        

             Auto running of FileStats program

             ---------------------------------

        

                  The  Sysop now has the option of running the  FileStats

                  program  automatically  each day.  This option  can  be

                  turned  on  or off at any time.  To make the  FileStats

                  program run automatically just specify in line number 3

                  of  the mailtime.sys file a current date and time  that

                  you  would  like FileStats to run.  After FileStats  is



                                       23





        Access Color BBS V2.4                          Copyright (c) 1991


                  run  AcBBS will update the date by 24 hours.  To enable

                  the  auto-running of FileStats with a text editor  load

                  the  mailtime.sys  file  found  in  directory  /DD/SYS.

                  Change  the date on line number 3 to the date and  time

                  you  want  FileStats to run.  Once you have  done  this

                  kill  the  BBS and then restart it.

        

                  As an example : suppose today was June 1, 1991, and the

                  time  was 6:00 PM, and we want FileStats to run at 1:00

                  AM  every day.  With a text editor change line number 3

                  of  mailtime.sys  to 91/06/02 01:00.  Stop the BBS  and

                  then restart it. When 1:00 AM rolls around the BBS will

                  run  filestats,  change  the date  in  mailtime.sys  to

                  91/06/03  01:00,  and  restart AcTsmon to  wait  for  a

                  caller.   The  time is in military format, so  for  any

                  time  after  12  noon add 12 to the hour,  midnight  is

                  stated  as 00:00 and not 24:00.  So to specify 6:00  PM

                  you would use 18:00 hours.

        

             Sysop created Menus

             -------------------

        

                  The  Sysop  now  has the choice of using  the  internal

                  default  menu  or  to create one of their own.  If  you

                  would  like  to create a custom menu, just fire up  any

                  text  editor  and create a menu file  called  MenuX.txt

                  where   X  corresponds  to  the  menu  number  you  are

                  creating.

        

                  For  example  we  want to make a custom menu  for  menu

                  number 0. In the directory where your menus are located

                  [Note:  The  default directory is the AcBBS  main  data

                  directory,  unless you specify a different directory in

                  AltDir.dat]  start your text editor with a filename  of

                  Menu0.txt.  You can use any of the special '@' codes to

                  set  the color, underline, ect.  A sample menu is shown

                  below:

        

                  OS9:List Menu0.txt

        

                                   *********************

                                   * M A I N  M E N U  *

                                   *********************

        

                           ************************************

                           *  G - Groups    M - Message Bases *

                           *  L - Logoff    B - Show Bulletin *

                           *  C - Chat      A - Mode Change   *

                           ************************************

        

                  OS9:

        

                  A few notes:

                  

                  o  If  access levels are different for each  users  you



                                       24





        Access Color BBS V2.4                          Copyright (c) 1991


                     will need to have all options defined in your custom

                     menus. Or use the default menu defined by SysEdit5

        

                  o  You  still  need to use SysEdit5 to define the  menu

                     options,  AcBBS  will  use any  MenuX.txt  over  the

                     default menu.

        

                  o  You  will  have  to add  any  option  that  SysEdit5

                     automatically creates to the MenuX.txt file, such as

                     the   (B)ulletin  option  that  AcBBS  adds  when  a

                     bullX.txt exists for that menu number.

        

             TrashCan.sys file

             -----------------

        

                  Version  2.4  and above allows the Sysop the option  to

                  create  a  file called TrashCan.sys in the  AcBBS  main

                  data  directory.  If this file exists then  Login  will

                  scan  through  it after it fails to find a username  in

                  the userlog.  Uses for this file are for checking names

                  which  are unacceptable for use in registration, banned

                  users from the system, ect.  

        

                  To create this file, with your working directory set to

                  the  main data directory for AcBBS use a text editor to

                  create   a   file  called  TrashCan.sys.    Type   each

                  unacceptable  name  one to a line, then exit your  text

                  editor.   AcBBS will check for this file  automatically

                  and  scan  through it for matches when it can't find  a

                  name  in the userlog. Using OS9's build command we will

                  create the TrashCan.sys file.

        

                  OS9:Build TrashCan.sys

                  ?fu**  [Note: * censors out letters to keep this clean]

                  ?fu**face

                  ?motherfu***r

                  ?Jane Doe  [Note: A trouble maker we deleted from the 

                                    userlog.]

                  ?<press enter here>

        

                  OS9:

        

                  If  a  name entered during login matches any  names  in

                  this  list, then AcBBS will display a message that  the

                  name  is  unacceptable and immediately log that  person

                  off  your BBS.  Future version of SysEdit5 will  prompt

                  the  Sysop to add any names deleted from the userlog to

                  the TrashCan.sys file if it exists.










                                       25





        


        

        Access Color BBS V2.4                          Copyright (c) 1991

        

                               Technical Reference

        

        Other procedures and parameters passed: 

        

        ------

        RUN Pal      *>sets display to ANSI palette<*

        ||No parameters 

        ------ 

        ------

        RUN achat (TimeLef,Userl,UsNum)    *>Enters Chat mode<*

        TimeLef : INTEGER;      time left online (TimeOnl in Acbbs)

        Userl   : STRING[239];  userlog entry (can anything that has 239 

                                bytes in it). "Userl(239) : BYTE" would

                                work. 

        UsNum   : INTEGER       user number

        ||The parameters can be omitted.  In that case, achat will not 

          be able to reload the user info or set the time online. 

        ----- 

        ----- 

        RUN gtln (String,Mask)     *>Inputs a line of text<* 

        String  : STRING [80];  string to receive the input 

        Mask    : INTEGER       Mask byte for passwords 

        ||if Mask <> 0 then that charcter is echoed, instead of the 

          inputed text 

        ----- 

        ----- 

        RUN scan(String,TimeLef,Userl,UsNum)  *>Scans for char<* 

        String  : STRING[1];      String to receive charcter 

        TimeLef : INTEGER;        same comments for these as

        Userl   : STRING [239];   above..passed to achat when 

        UsNum   : INTEGER         Sysop presses ALT-C

        ||The last 3 parameters may be omitted.  If they are, achat 

          will not be able to update the user info or the time online 

          when the sysop breaks into chat. 

        ----- 

        ----- 

        RUN Filsiz(Path,Length)    *>gets size of disk file<* 

        Path    : BYTE;    Path number of disk file 

        Length  : REAL     variable to hold length 

        ||no comment(hehe) 

        ----- 

        ----- 

        RUN uplow(String)      *>Capatilizes strings<*

        String  : STRING[?];   String to be capatiziled 

        ||Used by login and the message subroutines on the names of 

          users. 

        ----- 

        ----- 

        RUN upper(String)      *>changes a string to all uppercase<*

        String  : STRING[?];  String to be uppercased 

        ||Used by almost all the procedures to make sure the user 

          enters the right character. 



                                       26





        Access Color BBS V2.4                          Copyright (c) 1991


        ----- 

        ----- 

        RUN pt(String,Ansi,Flag,)

        String  : STRING[?];  String to output

        Ansi    : INTEGER;    Ansi/OS9/TTY Flag

        Flag    : INTEGER     Flag to enable processing

        ||Ansi=0 for TTY,1 for ANSI,2 for os9.  If flag is <> 0 then 

          the "@" codes will not be processed out. ex: 

          RUN pt("@C3hello",ansi,1) prints "@C3hello" instead of just 

          "hello" in yellow. 

        

        ----- 

        ----- 

        RUN pta(String,Ansi,Flag,Buffer)

        String  : STRING[?];  String to output

        Ansi    : INTEGER;    Ansi/OS9/TTY Flag

        Flag    : INTEGER     0=process codes 1=raw output

        Buffer  : STRING[250] Buffer space

        ----- 

        ||This is the same as 'pt' above but was written in assembler

          and is about four times faster but requires the extra buffer.

        

        Parameters passed and variable structures used: 

        

        Structures: 

        

          BASE 1

        ||Userlog entry:

          TYPE Userlog = Name:STRING[20]; Password:STRING[10]; 

               Access(40),Xpert:BOOLEAN; LastDate:STRING[17]; 

               LastMess(20),Dls,Uls:REAL; Time:BYTE; Phone:STRING[10]; 

               Place:STRING[20]; Computer:STRING[10] 

        ||Statistics File: 

          TYPE Statistics = Callers,Uls,Dls:REAL; 

               LastCall(20):STRING[20]; LastDate(20):STRING[17] 

        ||FileList entry 

          TYPE FileDes = FileLen:REAL; FileName:STRING[32]; 

               Uploader:STRING[20]; Dloaded:INTEGER; DateUp:STRING[17]; 

               Descrip:STRING[80] 

        ||Message base entry 

          TYPE MessageLog = From,Rec,Title:STRING[20]; 

               Private,Recvd,Killed:BOOLEAN; DateM:STRING[17]; 

               StartM:REAL; LenM:INTEGER; MNumber:REAL 

        ||Menu file entry 

          TYPE MenuFile = OptionN:STRING[10]; OptionK:STRING[1]; 

               OptionP:STRING[15]; OptionD:STRING[30]; Para:STRING[40]; 

               OptAcc(40):BOOLEAN 

        ||Configuration File 

          TYPE ConfigFile = NewAcc(40):BOOLEAN; SysopN:STRING[20]; 

               NewTim, Ratio:BYTE

        

        Format for important BBS files:

        

        ||Menu File

        The menu file is basically just a list of  menu  entries.  Very 



                                       27





        Access Color BBS V2.4                          Copyright (c) 1991


        simple. The last entry is called "End"  and  that  tells  AcBBS 

        that the entry before it is the last menu entry.

        

        ||File list

        The file list is just a list of file entries.  Nothing  majorly 

        complex about this either.

        

        ||Groups list

        The GroupsList.sys file is just a list of files directories used 

        to access a bunch of file areas as a group.

        

        ||Message base 

        The message base consists of two files.  One is a .sys file the 

        other is a .txt file.  The sys file is a list of message log 

        entrys.  The .txt file consists of the text for all the 

        messages.  The sys file references the txt file by using 

        absolute locations (StartM) and the length of the message in 

        lines (LenM).  When reading messages, the program seeks to the 

        exact location in the txt file specified by (StartM) in the sys 

        file.  Then it reads in LenM number of lines.  When referencing 

        by number, the program does not use the message entry's 

        location in the sys file, but the number that is in the entry.  

        This makes message searching for the right location to start 

        reading the messages slower, but it also gets rid of having to 

        update the message base pointer for each user when you pack or 

        shorten the message base.

        

        Parameters passed to every subroutine option module: 

        

        PARAM Ansi:INTEGER; Userl:UserLog; MenuNum:INTEGER; 

              OptParam:STRING[40]; Usnum:INTEGER; yy$:STRING[255]

        

        Ansi     | Ansi/OS9/TTY flag 0=TTY,1=ANSI,2=OS9 

        

        Userl    | Users userlog entry 

        

        MenuNum  | Current Menu number 

        

        OptParam | Parameters defined in menu entry 

        

        UsNum    | User's User Number 

        

        yy$      | A Buffer passed to programs to save 

                   variable space (used mostly for pta)

        

        To  run  a program directly from the menu it must not  exceed  an

        8,000  byte block and it data must not exceed 1,900 bytes. If  it

        does  then  use  a  "frontend" program, have the  menu  call  the

        frontend  program  and  the frontend program call  the  procedure

        through a shell. Pass the parameters in the shell statement.








                                       28





        


        

        Access Color BBS V2.4                          Copyright (c) 1991

                              <<< Misc. Notes >>> 

        

        :::Breaking  into chat. The BBS will now break into chat when  it

        is waiting for input, not only when it arrives at an input call. 

        

        :::Other  Basic09  Programs.   If you wish to run  AcBBS  in  the

        background  with  other basic09 programs which use modified  RunB

        modules  and  Gfx2,SYscall,inkey  modules..  Just run  the  other

        programs  first  before  running  AcBBS.   AcBBS  doesn't  use  a

        modified RunB, so it will work perfectly with other programs that

        merge  runb  with other modules, AS LONG AS the runb  doesn't  go

        over  16k and the gfx2/syscall/inkey module is either merged with

        runb or does not go over 8k by itself. 

        

        :::Your  own procedures. You may add your own procedures and even

        modify  some  of the source code of the BBS as long as you  still

        give me credit for my modules. The modules you create on your own

        are all yours, and you can do whatever you wish with them. If you

        develop some great new module, please feel free to notify me, and

        I'll add it to the BBS package and give you lots of credit.

        

        :::Aciapak  lockups.   Included in the archive is  Bruce  Isted's

        Sacia  driver and descriptors. Thanks to Bruce for allowing us to

        use  the  descriptors and drivers. You will need to  replace  the

        stock  Aciapak  with the sacia driver that fits your  need.   For

        those  with rs232 paks that don't allow auto-bauding then  switch

        on  the cable between the modem and the rs232 pak, pins 6 and  8.

        Then  set  the  xtyp  to 85, using the  new  xmode  from  Bruce's

        package.

        

        :::Dload/Upload   protocols.   You  may  use  other  dload/upload

        protocols besides the XModem & Ymodem I have provided.  Just look

        at the source for Dload & Upload for details on how to do this. 

        

        :::New message search. The system bases the new message search on

        what  bases in which a user has a last message count larger  than

        0.   This  means that if a user doesn't read any messages from  a

        message  base, he will not get a listing of the new messages  for

        that  message base.  This feature is used to the users  advantage

        in  modules  like  "userutil" which allow the  user  to  actually

        select  what message bases will display on his new messages list.

        You  must be aware of this when you ever decide to take a message

        base  off  the bbs, or replace it, or downgrade a user's  access.

        You  MUST set the new message count for the user or users to 0 in

        that  message  base as well as changing his or their access.   Or

        else,  the message base will display in their new message  check,

        or  cause  the BBS to error out because it cant find the  message

        base. 

        







                                       29





        


        

        Access Color BBS V2.4                          Copyright (c) 1991

        

                            Appendix A: Menu Options

                <<< Included subroutines and their parameters >>> 

        

        Use these listings to help create the menu  options  using  the 

        parameters each of these need.

        

        Subroutine    |    Parameter                |  Notes

        ---------------------------------------------------------------

        Automess      |  . (null parameter)         | Automessage edit 

        Ansi          |  . (null parameter)         | Set screen mode

        Chat          |  . (null parameter)         | Chat option

        Dload         | full pathname to files dir  | downloads files

        Dooracc       |  One line Shell Command     | runs ext. prog.

        Enter         |  . (null parameter)         | uses menu number 

        FindFile      | full pathname to files dir  | Finds Files

        AcLastUsers   | see note 1 below            | Lists last callers

        ListFile      | full pathname to files dir  | Lists files

        ListText      | full pathlist of file       | See Note 6

        Logoff        |  . (null parameter)         | Logoff system

        Menu          | menu number to go to        | Go to another menu

        Newmail       |  . (null parameter)         | Checks for new mail

        Read          |  . (null parameter)         | uses menu number 

        Update        | menu number to go to        | See note 4

        Upload        | full pathname to files dir  | uploads files 

        Userutil      |  . (null parameter)         | User status 

        Userlist      |  . (null parameter)         | Userlog list 

        Xpert         |  . (null parameter)         | Xpert menu mode

        --------------|-----------------------------|--------------------

        

        Notes:

        

        Note  1:  On  AcLastusers the parameter can be specified  in  two

        ways,  the first is use a number to display how many last  users.

        Example using 20 as the parameter display the last 20 callers. To

        give  the  user  a  choice of how many  to  display  proceed  the

        parameter  with  an hyphen. Example -20 will prompt the  user  to

        enter   how  many  last  callers  to  display  (from  1  to  20).

        AcLastUsers  will  display the maximum number of last callers  if

        you specify an amount greater then what has been recorded.

        

        Note  2:  Dooracc  runs an external program  through  the  shell.

        Usually  you  will want to kill the extra shell that's  generated

        when  Dooracc  runs  a  program by using "ex". An  example  of  a

        dooracc  option parameter to run an online game: "ex runb  trek".

        Dooracc will run a Basic09 packed program called "trek". 

        

        Note  3: When you have a file section, usually you will need  all

        four procedures "Dload","Upload","ListFile","FindFile". Remember!

        Dload does NOT list the files online when it asks for a filename.

        You must have Listfile somewhere on the menu to do that. 

        

        Note  4:  Update and menu preform the same function,  both  allow



                                       30





        Access Color BBS V2.4                          Copyright (c) 1991


        changing  to  another menu. Only update will update the  userlog.

        Use  update in the place of menu on any menu which has a  message

        base.  This  way if the user exits after reading and replying  to

        messages  and  hangs up instead of logging off the  pointers  for

        that message base will be updated.

        

        Note 5: Most subroutines provided do not need a parameter, but in

        order to work properly you must supply a null parameter. The null

        parameter used is the character for a period. So for every option

        above  that  has  .  (null parameter), supply  a  period  as  the

        parameter.

        

        Note 6: Listtext will pause every 23 lines and once at the end of

        the file if asterisks proceed and follow the pathname. Example in

        the  parameter  line  for  newsletter.txt if you  specify  it  as

        *newsletter.txt,  then  it  will  pause every  23  lines,  or  as

        newsletter.txt*, then listtext will pause once at the end. If you

        use  both  asterisks then listtext will pause every 23 lines  and

        once  at the end. On full pathnames you must have the asterisk at

        the  beginning and at the end for the type of pause you want  (ie

        */h1/textfiles/newsletter*).





































                                       31





        


        

        Access Color BBS V2.4                          Copyright (c) 1991

                                Appendix B Colors

        

            The color codes for text are as follows.

             0     -      Black            4     -      Blue

             1     -      Red              5     -      Magenta

             2     -      Green            6     -      Light blue

             3     -      Yellow           7     -      White

             @C#   -      Foreground color, where # ia a number 1-8.

             @B#   -      Background color, where # is a number 1-8.

             @U    -      Underline on.

             @F    -      Flash on.

             @Xxy  -      Puts the cursor at the x+32,y+32 you want.

                          See Note 1 below!

             @D    -      Turns off uderline and flash, reset foreground

                          to white and background to black.

        

        To  display  an  @ character or to disable a code to print  in  a

        message  use  a double @. Example "@@C1Red" will be displayed  as

        "@C1Red",  Where "@C1Red", a single @, displays the word "Red" in

        the  color  red.   A single @ will be displayed if  you  use  @@.

        Example  "this  is  an  @  character" displays  as  "This  is  an

        character"  where, "This is an @@ character" displays as "This is

        an @ character".

        

        Note  1:  Using the @X command is easy. PTA was  modified  awhile

        back  when  version  2.3 was out, but it was  never  included  in

        version  2.3. Much mystery surrounded the use of @X and not  many

        sysops  used  the  cursor  positioning command. I  have  come  to

        explain  the  use  of  @X and  "de-mystify"  it's  operation.  @X

        requires  to ASCII characters to position the cursor. One handles

        the  x  direction  and the other handles the y direction.  The  x

        direction  is  the column and the y direction is the row.  The  x

        direction  runs from 0 to 79, and the y direction goes from 0  to

        23.  This covers any character position on an 80 character by  24

        line  screen.  Now to position the cursor at the upper left  hand

        corner,  position  0,0, we would need to look up on Table  1  the

        ASCII  character that would equal position 0. From the table  the

        ASCII  character  used  to  specify position  0  is  the  "space"

        character.  So  we  would the use @X"space""space",  the  "space"

        should  be  thought of as a ASCII space <hard to display  without

        much  confusion>. An example to print "Sloppy Joe's BBS" starting

        at position 0,0 would be:

                              [---|----|----|----]

                              @X  Sloppy Joe's BBS

        Notice  the  two spaces after the X, that indicates that we  want

        the  text "Sloppy Joe's BBS" to start at position 0,0 <upper left

        hand  corner>. Now suppose we had wanted to print that same  text

        10  lines  down and 30 characters in, we would then subtract  one

        from  the x (characters in), and the y (lines down) positions  to

        arrive  at the right area. Remember the numbering is from 0 to 79

        and  0  to 23 for the x and y, respectively. Now from Table 1  we

        would look up the ASCII code need for an x position of 29 and a y

        position  of  9,  which  is = for x, and ) for y.  Now  to  print



                                       32





        Access Color BBS V2.4                          Copyright (c) 1991


        "Sloppy Joe's BBS" we would use:

                              @X=)Sloppy Joe's BBS

        Simply  enough. For what every position you want it's a matter of

        looking  it up in the table. Codes beyond 23 will not work for y.

        I  expect  to  see  lot's of fancy ANSI  displays  now  that  the

        mysteries surrounding the @X command have been removed.

        

        

                                     Table 1

           Position     ASCII Char         Position      ASCII Char

        

               0         <space>              40             H

               1            !                 41             I

               2            "                 42             J

               3            #                 43             K

               4            $                 44             L

               5            %                 45             M

               6            &                 46             N

               7            '                 47             O

               8            (                 48             P

               9            )                 49             Q

              10            *                 50             R

              11            +                 51             S

              12            ,                 52             T

              13            -                 53             U

              14            .                 54             V

              15            /                 55             W

              16            0                 56             X

              17            1                 57             Y

              18            2                 58             Z

              19            3                 59             [        

              20            4                 60             \        

              21            5                 61             ]

              22            6                 62             ^

              23            7                 63             _

              24            8                 64             ` 

              25            9                 65             a

              26            :                 66             b

              27            ;                 67             c

              28            <                 68             d

              29            =                 69             e

              30            >                 70             f

              31            ?                 71             g

              32            @                 72             h

              33            A                 73             i

              34            B                 74             j

              35            C                 75             k

              36            D                 76             l

              37            E                 77             m

              38            F                 78             n

              39            G                 79             o

        

        





                                       33





        


        

        Access Color BBS V2.4                          Copyright (c) 1991

        

                         Appendix C : AcLogin2.Dat file

        

        Command                      Comment

        *                          - Use '*' as first character for comments

        STATS                      - Prints bbs & users stats

        PRINT                      - Prints a blank line or if  followed

                                   by  a string prints the string, string

                                   must be in quotes

        PAUSE                      - Uses scan (pauses until key is pressed)

        LIST "Disclaimer.txt"      - Uses Listtext

        NOTE "Updating Userlog..." - Prints to main status window

        PUT "UserLog"              - Updates UserInfo

        RUN1"GHandler"             -   This    passes    parameters

                                   (Ansi,UsNum,TimeLeft:INTEGER)  to  the

                                   program specfied in the quotes.

        GET  "UserLog"             -  Gets  UserInfo from userlog.

        REGISTER?                  -  Asks  if  you want  your  call  to

                                   register  in the * 'Last Callers List'

                                   if all flags are set.  

        NEWMAIL                    - Asks to scan for new messages.

        NEWSLETTER                 - Asks to display newsletter when the

                                   newsletter date has been updated.

        PARAM="."                  - The Param passed to the Menu Runable

                                   Program, use this with RUN2 command.

        RUN2  "StdTypeProgram"     - Runs a standard AcBBS Menu  Runable

                                   Program  as  if it was on a menu,  use

                                   the   PARAM   command  to   pass   the

                                   parameter.

        SHELL "dir"                - Uses 'SHELL' to run a program

        

        Note: Order does not matter but the PUT "Userlog" command must be

        done.  To  run programs during login use either the RUN1 or  RUN2

        command, each passes different parameters. 






















                                       34





        


        

                     Registration Form For AcBBS Version 2.4

        

        Name:________________________    BBS Name:______________________

        

        Street Address:_________________________________________________

        

        City,State,Zip:_________________________________________________

        

        Voice Ph. Number(____) ____-____  BBS Ph. Number(____) ____-____

        

        BBS Hours Of Operation:_________________________________________

        

        Baud Rates Supported :__________________________________________

        

        Your Hardware Configuration :___________________________________

        

        Type Of Software BBS supports:__________________________________

        

        Where did you obtain This BBS package from:_____________________

        What type of Registration Are you applying for?

        

            (  ) BBS software ($25.00 Registation Fee)

            

            (  ) Network Mail Software ($10.00 Registraition Fee)

            

            (  )  Complete AcBBS Software Package: Contains  All  Disks,

                  Printed  Manual and Registations For BBS & Network Mail

                  ($40.00 Fee)

                 

        All  Forms of registration entitle You to Free Software  Upgrades

        for a period of AT LEAST 1 year.

        If Registering for Network Mail Which Echo's do you wish to Carry

        Check ALL that Apply

        

        (  ) CoCo Echo    (  ) OS9 Echo         (  ) General Message Echo

          

        (  ) IBM Echo   (  ) Buy & Sell Echo  (  ) AcBBS Sysops ONLY Echo

          

        (  ) StarTrek Echo  (  ) Dungeons & Dragons Echo

        Make Checks Payable to: Chris Serino

          Mail to: The DUTCHESS COCO

                  co. Chris Serino

                  22c Chelsea Ridge Dr

                  Wappingers Falls, Ny 12590

        

          Amount Enclosed $__________________

          

        Singned__________________________   Date_______________________

        ===============================================================

                                 Office Use Only

        

        Date recieved:_______________   Assigned Node #________________

        

        Date sent:_______________________