Turbo BBS Version 1.05 - System Operator Notes - Page 1


        1 - Features:

          - Self-contained Message and Files system written in Pascal;
          - Program not operating system dependent;
          - Information files editable with WordStar;
          - Variable Terminal width with word-wrap;
          - User profile (password, terminal parameters) kept on file;
          - Real-time clock time stamping of files and messages;
          - Private and public messages supported;
          - Can be configured as a private BBS;
          - Variable access levels available;
          - File and message sub-sections for easier user access;
          - All uploaded files stamped with name of contributor;
          - Number of accesses of each file recorded;
          - XMODEM protocol (CRC & checksum) fully supported;
          - Calls logged with sign-on and sign-off times;
          - Comments to System Operator (Sysop) file;
          - Supports squeezed and library files;
          - Directly drives serial port hardware.

        2 - System files:  The following files are included in the  Turbo 
        BBS package:

        * Required to compile the program: BBS.PAS
                                           BBS2.INC
                                           IO.INC
                                           MACHDEP.INC
                                           MAILSYS.INC
                                           FILESYS.INC

        The  above .PAS file must be on the logged drive,  and  the  .INC 
        files on drive A: when compiling!
        The BBS program should be compiled to a .COM file.

        * Required on the default drive to run the compiled BBS program:

          BBS.COM (obviously);

        *  The  following files are created automatically on the  default 
        drive (space should be reserved for them).

          MESSAGES.BBS - the system message table:  contains records  for 
        each message giving user numbers of sender and receiver, subject, 
        time stamp,  message and section number, and whether the receiver 
        has  read  the message or not.  This table is loaded into  a  RAM 
        buffer  whenever the system is active (ie.  caller on-line),  and 
        restored to disk at sign-off.

          FILES.BBS - the table of files available on-line. Each file has 
        a record noting name,  size,  contributor, access count, section, 
        and whether the file is private or public.

          LOG.BBS - Call Log,  holding Caller, time on and time off info, 
        (providing the clock routines are enabled).









        Turbo BBS Version 1.05 - System Operator Notes - Page 2


          COMMENTS.BBS - Contains comments to Sysop, includes caller name 
        and  time stamp.  Comments are set to a 15 line maximum length by 
        the  [G]oodbye  command,  and limited to 4 lines by  the  [A]pply 
        command.

          IDS.BBS  - Contains registered user  names,  passwords,  access 
        levels,  terminal  parameters,  last call date and  high  message 
        number.


        The  following text files containing on-line user information are 
        expected in a library B:BBSINFO.LBR.

          WELCOME.TXT  - The pre-sign-on user welcome file.  Should  give 
        details about the system's features, hours, and policies, as well 
        as  any news about new system features.  Newest bulletins  should 
        occur  first in a file so frequent users do not have to read long 
        stretches of familiar information to get the new stuff. This file 
        is also listed by the W (Welcome) command.

          BBSHELP.TXT  - The  on-line Help file,  containing  the  system 
        commands and user hints. Also should list the subcommands for the 
        commands that support them.  This file is listed by the H  (Help) 
        command.

          BBSLIST.TXT - Contains a list of other remote access systems of 
        interest. Listed by the O (Other systems) command.

          SYSINFO.TXT - Gives information about the equipment running the 
        BBS,  and  general  information about the BBS.  Listed by  the  Y 
        (sYstem information) command.

          MEETING.TXT  - Provides user with information as  to  scheduled 
        user group meetings in the area.

          APPLYING.TXT - Listed by the [A]pply command. Gives information 
        on what is required to increase user access level.

          MAINMENU.TXT - The BBS main menu.

          EDITMENU.TXT - The message editor option menu.

          READMENU.TXT - The read-messages option menu.

          FILEHLP.TXT  - The  files  system  command  help  file.   Gives 
        information on how to use files system commands.

          FILEMENU.TXT - Files system command list.

          BULLETIN.TXT  - Bulletins  about system changes,  or any  other 
        information of interest to users.

             All messages are stored in individual text files,  using the 
        file  name MESSxxxx.TXT,  where xxxx is the message  number.  All 
         .TXT files are expected on the default drive. They can be edited 








        Turbo BBS Version 1.05 - System Operator Notes - Page 3


        using WordStar,  in the Document mode.  The BBS program is set up 
        to ignore the WordStar "soft" carriage returns and line feeds, so 
        the  word  wrap output driver of the BBS can format the  file  to 
        suit  the user's terminal.

             Messages stored by the BBS editor can be in two formats: one 
        contains  "hard"  carriage returns so special formatting used  in 
        message entry is preserved (P subcommand in E command). The other 
        contains  NO carriage returns,  which are inserted by the  output 
        routine as needed. Editing a message created by the latter option 
        with WordStar will show the entire message as a single  line:  ^B 
        will  fix  this by inserting soft carriage returns which the  BBS 
        will ignore.

             The  top of the include file MAILSYS.INC defines a  constant 
        called  "maxmess,"  which defines the maximum number of  messages 
        that  can  be held at one time on the  system.  The  distribution 
        version sets this at 52,  which corresponds to the maximum number 
        of  files available on a Kaypro 2 disk (64) minus the  number  of 
        support  files on the default drive.  This limit can be increased 
        if a larger directory is available, but remember that the message 
        table is buffered in RAM and so each message uses 43 bytes.









































        Turbo BBS Version 1.05 - System Operator Notes - Page 4


        3 - Installing the BBS on your system

             The machine specific codes is contained in the include  file 
        MACHDEP.INC.  All  system  serial  I/O is  routed  through  these 
        routines.  The  distribution version was written for a Rixon 212A 
        Intelligent Modem.

             To properly install the BBS,  it is necessary to know how to 
        properly  program  and  control  the  serial  port.   Since  most 
        operating  system drivers to not allow access to reading the  CTS 
        (Clear To Send) line, this is necessary... It is unreasonable for 
        the BBS to be expected to capture and comprehend the "NO CARRIER" 
        or equivalent string from a smart modem.  In particular, you must 
        know how to read the CTS line,  control the RTS line,  detect the 
        input buffer full signal, and the output buffer empty line. Also, 
        remember  the  character  data send and  character  data  receive 
        functions!  To allow XMODEM transfers,  it is necessary to set up 
        for 8 bits, no parity, and one stop bit.

             Since  the system expects to use the CTS line as  a  carrier 
        detect  line,  it will be necessary to ensure that the modem does 
        send  a  suitably readable signal for  this  purpose.  The  Rixon 
        initialization  string does this.  On Hayes Smartmodems,  this is 
        controlled by a switch that must be set so the CTS line  reflects 
        an  on-line  status.  The  DSR or DCD  lines,  if  available  and 
        satisfactory,  can  be  used:  just  read that line  in  the  cts 
        function  in  MACHDEP.INC.

             The  modem should also disconnect when the system lowers the 
        DTR   (Data  Terminal  Ready  - RS-232  pin  20)  line  for   400 
        milliseconds.  If this feature is not available, another reliable 
        disconnect method must be found and implemented in the  procedure 
        hangup in MACHDEP.INC.  The DTR line is also lowered when the BBS 
        has  been  accessed locally to inhibit  the  modem's  auto-answer 
        function.  The  procedures setlocal and clearlocal (IO.INC)  will 
        require editing if this feature is not supported by your modem.

             If  your system has a real-time clock,  the routines in  the 
        include  file MACHDEP.INC must be adapted to use it.  Once again, 
        the distribution file uses the Kaypro 4-84 clock. The Kaypro 2-84 
        normally omits this, but the CPU board has the necessary hardware 
        to implement it with the addition of a few parts.  If the  system 
        lacks a real-time clock, the clock-related features can be turned 
        off  by setting the constant "clockin" to FALSE at the  beginning 
        of  the BBS.PAS file.  If you have no clock,  DO NOT  attempt  to 
        remove  the clock support code from MACHDEP.INC or IO.INC!  While 
        the routines won't be used, they must be present for compiling.

             If the special interest sections feature is not wanted,  set 
        the "sectsin" constant at the beginning of BBS.PAS to FALSE.  The 
        Section names are defined at the beginning of MAILSYS.INC. Future 
        updates of the Turbo BBS will offer either password protection or 
        individual  user  access  flags for  protected  sections.  It  is 
        possible to not use sections in the BBS at first,  then implement 
        them  later,  since  all files and messages in a  system  without 








        Turbo BBS Version 1.05 - System Operator Notes - Page 5


        sections are placed in section 1 (Default: General).

             The  BBS program must be compiled into a .COM file by  using 
        the  Turbo  Pascal  "O" (Options) command:  it is  too  large  to 
        effectively compile into memory.

             If  your  system  lacks sufficient memory  to  run  the  BBS 
        program as distributed, it will be necessary to overlay the files 
        system with the message entry editor. This is done by putting the 
        word  "overlay"  immediately before the procedure declaration  of 
        the  enter routine (near the end of MAILSYS.INC) and the  filesys 
        routine  (the  file FILESYS.INC).  (In  addition,  the  procedure 
        sysoponly  at the beginning of BBS2.INC can be made into  another 
        overlay, which will save even more space.)

        That is, change          procedure enter;
                     to          overlay procedure enter;

             and change          procedure filesys;
                     to          overlay procedure filesys;

             and change          procedure sysoponly;
                     to          overlay procedure sysoponly;

        For  this to work properly,  it is absolutely necessary to  avoid 
        putting  any  new procedure/function declarations at the  end  of 
        MAILSYS.INC,   the  beginning  of  FILESYS.INC,  or  between  {$I 
        MAILSYS.INC} and {$I FILESYS.INC} in BBS.PAS!
        (Note  that using overlays will create 1 more file on the default 
        drive: adjust the maximum number of messages as required.)

             The  number  of files in the file system is limited  by  the 
        fact  that  the  directory  table is  buffered  in  RAM.  In  the 
        distribution version,  a limit of 40 is set due to the fact  that 
        the  Kaypro  2's disks have a mere 191K capacity (All  "freeware" 
        contributions go to the Hard Disk fund). To expand the number, it 
        is  necessary to change the filetab array declaration and  change 
        the  number in the procedure newfile.  Future versions  will  set 
        this  limit  with  a  compilation  constant.  Each  file  in  the 
        directory  uses  39 bytes of memory.  Future versions will  allow 
        large  directory  files  to be read directly from  disk  (at  the 
        expense  of operation speed).  (Please remember that the BBS  was 
        NOT originally written for distribution!) The BBS puts all  files 
        on the "B:" drive.  To change this,  you must change the constant 
        "filedrive" in BBS.PAS from 'B:'.


















        Turbo BBS Version 1.05 - System Operator Notes - Page 6


        4 - Running the system

             Once  BBS.COM  has been compiled successfully,  it  must  be 
        placed  on  the  correct drives with the library  of  .TXT  files 
        listed previously in this document.  The first thing the  program 
        should  do when run is initialize the modem.

             Usernames and passwords are always mapped to capitals by the 
        BBS  to  avoid errors.  SYSOP's access level is set  to  level  5 
        automatically on first sign-on. This allows master control access 
        to the first person to use this name: BEWARE! To sign on locally, 
        press  the  'ESC' key on the host keyboard when the "Waiting  for 
        call..."  string appears.  You can then sign on and test out  the 
        system.  The  first thing to do is make your  password  something 
        VERY secure: the system supports certain features for Sysops that 
        are best not made available to the general public.

             The BBS main program supports two commands not listed in the 
        menus. They are "!" and "@". "!" is the printer switch: if a user 
        with level 5 (Sysop) access uses this command,  system output  is 
        also sent to the lst:  device,  until another "!" is entered. "@" 
        is  the  sysoponly procedure containing the comments file  reader 
        and  ID  access editor.  This routine prompts for  input  with  a 
        single  question mark ("?").  There are three commands supported. 
        The  first  command is "C",  which plays back the  system's  user 
        comments  file.  After  the file is displayed,  a  "Kill  (Y/N)?" 
        prompt appears, allowing the sysop to delete the file. The second 
        sysoponly command is "L",  which is the access level editor:  the 
        system will ask for a user name:  if it is in the userlist,  that 
        user's  current access level will be displayed,  and you will  be 
        prompted for a new user level (pressing only RETURN changes it to 
        0).  The system will loop through the Name/Access prompts until a 
        non-existent  user name is entered,  whereupon the command  ends. 
        The last sysoponly command is "!",  which is identical to the "!" 
        printer switch in the main menu.

             Several commands contain Sysop extensions:  the L (call Log) 
        command  gives  a "Kill (Y/N)?" prompt to level 5  users.  The  U 
        (User  list)  command shows the access level of  each  user.  The 
        R  (message  Read) function prompts "Delete  (Y/N)?"  after  each 
        message read. Furthermore, all messages are visible to the Sysop.

             The  file  system  also contains extensions for  the  Sysop. 
        These are the I,  E and K commands.  I is used to Install a  file 
        that  is on the files disk but not in the BBS directory,  so  the 
        Sysop  can  "upload"  files by just copying them onto  the  Files 
        disk.  E edits a file's header,  allowing the sysop to rename the 
        file,  change  the  name in the  contributor  field,  change  the 
        section in which the file is stored,  and to release a file. When 
        a  file  is released,  the public flag in the  directory  becomes 
        "true".  All uploaded/installed files are initially private,  and 
        do  not  appear  on the BBS directory to anyone without  level  5 
        access.  Level  3 users have the ability to access private  files 
        provided  they know the file name.  Any files on the  files  disk 
        that  are not in the BBS directory are totally unaccessable,  but 








        Turbo BBS Version 1.05 - System Operator Notes - Page 7


        cannot  be  overwritten.  The K command deletes a file  from  the 
        directory table, and erases the file.

             The top of the FILESYS.INC file contains a number of options 
        that  should be set up to match your system,  such as  the  files 
        drive  capacity and the minimum increment of file size in Kbytes. 
        If  your  system can store in increments of less than  1K  bytes, 
        then set the increment to 1K:  this will allow a nearly full disk 
        to  have  a  negative amount of  disk  space  remaining,  but  is 
        otherwise harmless.

             The  program  is  made  to act as a private  BBS  simply  by 
        setting the constant "openBBS" in BBS.PAS to false.  This has the 
        effect  of hanging up on any REMOTE user who attempts to sign  on 
        without  supplying a registered username within  three  attempts. 
        New  users  must be signed on locally first,  before their  names 
        will be permitted for remote access.














































        Turbo BBS Version 1.05 - System Operator Notes - Page 8


        5 - General Information

             This  software and its associated documentation and  support 
        files are released to the public domain by the author.  It is not 
        to  be  distributed  commercially or re-sold for  profit  without 
        prior  permission from the author.  If you feel the  software  is 
        well-suited  to your purposes,  and would like to be informed  of 
        any updates or new versions, please send $30 to:

                       Robert H. Maxwell,
                       201-2275 West 7th Avenue,
                       Vancouver, B.C.  CANADA
                       V6K 1Y3

        This contribution entitles you to support,  error correction, and 
        updates.  Customization  of the code for specific purposes is not 
        included,  but can be made available at extra cost.  It would  be 
        appreciated if the specifics of the system you plan to run (phone 
        number,  hours,  baud  rates,  etc.) were also included,  so  any 
        improvements  YOU  make can be observed and possibly included  in 
        updates.  Also,  a  compilation of systems using this BBS will be 
        maintained on the Vancouver Turbo BBS from this information.

             The  original Turbo BBS is on-line in Vancouver 24  hours  a 
        day  at  300 or 1200 baud at (604) 738-7811.  If the BBS  is  not 
        available,  another  computer  is usually on-line to  report  the 
        reason for the unavailability and when the BBS will  return.

             For  fastest  response  to  questions  or  problems,  it  is 
        recommended  you  use  the  Vancouver  BBS.  Slower  response  is 
        available  through CompuServe's Borland SIG,  where the  author's 
        PPN is 70206,174. The use of voice calls is not appreciated until 
        the details have been arranged.






























 aeomd.hpu nC                                                                                                                                                                                                                                                                                                                                                                                                                             �������������������������������������������������������������������������������������