home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / BBS / RBBS_PC / 173_DOC.ZIP / RBBSDOC1.ASC < prev    next >
Encoding:
Text File  |  1990-02-11  |  338.0 KB  |  6,436 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                            REMOTE BULLETIN BOARD SYSTEM
  15.  
  16.                                      for the
  17.  
  18.                                IBM Personal Computer
  19.                                  Version CPC17.3
  20.  
  21.                              Technical Reference Guide
  22.  
  23.  
  24.                              Technical Support Numbers
  25.  
  26.                                  Voice Mail System
  27.                                   (407) 627-9767
  28.  
  29.                                 Answering Machine
  30.                                  (203) 268-9656
  31.                              (calls returned COLLECT)
  32.  
  33.                                 Copyright 1983-1990
  34.  
  35.                                         by
  36.  
  37.                             D. Thomas Mack
  38.                             39 Cranbury Drive
  39.                             Trumbull, Conneticut 06611
  40.                             DATA  #1 -- (203) 268-5315
  41.                                   #2 -- (203) 268-0129
  42.  
  43.                             Ken Goosens
  44.                             5020 Portsmouth Road
  45.                             Fairfax, Virginia 22032
  46.                             DATA  #1,2,3 -- (703) 978-6360
  47.  
  48.                             Doug Azzarito
  49.                             5480 Eagle Lake Drive
  50.                             Palm Beach Gardens, Florida 33418
  51.                             DATA  #1 -- (407) 627-6969
  52.                                   #2 -- (407) 627-6862
  53.  
  54.                                  February 11, 1990
  55.  
  56.     RBBS-PC CPC17.3                                                 Page 2
  57.  
  58.                            TABLE OF CONTENTS                      Page  Updated
  59.                            -----------------                      ----
  60.     0.  PREFACE                                                      6
  61.         *0.1  Philosophy Behind RBBS-PC                              6
  62.         *0.2  Distribution of RBBS-PC                                6
  63.          0.3  The "Contributions" Requested for RBBS-PC              6
  64.          0.4  How to Send Improvements                               9
  65.  
  66.     1.  INSTALLING RBBS-PC
  67.         *1.1  First Time Installation                               11
  68.         *1.2  What's New in 17.3?                                   15
  69.         *1.3  Upgrading                                             18
  70.         *1.4  Common Problems                                       21
  71.  
  72.     2. "BASE-LINE" HARDWARE AND SOFTWARE REQUIREMENTS               23
  73.  
  74.     3. RBBS-PC's SUPPORT POLICIES                                   25
  75.         *3.1  RBBS-PC's User Support Policy                         25
  76.          3.2  RBBS-PC's Vendor Support Policy                       29
  77.  
  78.     *4. HOW TO GET A COPY OF RBBS-PC SENT TO YOU                    33
  79.  
  80.     5. FILES RBBS-PC USES                                           34
  81.          5.1  RBBS-PC System Files                                  35
  82.          5.2  RBBS-PC Text Files                                    39
  83.  
  84.     6. PLANNING YOUR USER INTERFACE                                 44
  85.          6.1  Menus Shown to Callers                                44
  86.          6.2  Subsystem Prompts Shown to Callers                    45
  87.          6.3  Commands Available to Callers                         46
  88.          6.4  RBBS-PC's "Wrap-around" Command Search                47
  89.          6.5  How to Have a Single Universal Command Line           48
  90.          6.6  RBBS-PC'S Programmable User Interface (PUI)           51
  91.               6.6.1 An Example Using PUI                            52
  92.               6.6.2  How to Implement PUI                           53
  93.          6.7  RBBS-PC's Support of Sub-menus                        56
  94.               6.7.1 How to Implement Sub-menus                      58
  95.               6.7.2 Shared Options Across Sub-menus                 58
  96.          6.8  RBBS-PC's "Macro" Command Support                     59
  97.              *6.8.1 How To Set Up "Macros"                          61
  98.              *6.8.2 Macro Commands                                  63
  99.               6.8.3 A Sample Macro                                  68
  100.               6.8.4 On-line Data Base With Macros & Questionnaires  69
  101.         *6.9  RBBS-PC's "Smart" Text Variables                      73
  102.          6.10 "Colorizing" the RBBS-PC User Interface               76
  103.          6.11 RBBS-PC's Automatic Operator Page Option              79
  104.          6.12 Enhancing the File Verbose List                       81
  105.         *6.13 Bulletins and News                                    83
  106.  
  107.     * New or substantially revised.
  108.  
  109.     RBBS-PC CPC17.3                                                 Page 3
  110.  
  111.                            TABLE OF CONTENTS                      Page  Updated
  112.                            -----------------                      ----
  113.     7. UNIQUELY IDENTIFYING YOUR CALLERS                            85
  114.          7.1  Setting Up Identifying and Individuation Fields       86
  115.          7.2  Preloading Identities For Instant Access              87
  116.  
  117.     8. RBBS-PC's AUTOMATIC SUBSCRIPTION/ TIME MANAGEMENT            88
  118.          8.1  Setting It Up                                         89
  119.  
  120.     9. USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC              90
  121.          9.1  Global RBBS-PC Parameters (Part 1 of 3)               91
  122.          9.2  Global RBBS-PC Parameters (Part 2 of 3)               94
  123.          9.3  Global RBBS-PC Parameters (Part 3 of 3)               97
  124.          9.4  Parameters for RBBS-PC System Files (part 1)         100
  125.          9.5  Parameters for RBBS-PC System Files (part 2)         103
  126.          9.6  Parameters for RBBS-PC "Doors"                       106
  127.          9.7  Parameters for RBBS-PC's Security (part 1)           109
  128.          9.8  Parameters for RBBS-PC's Security (part 2)           111
  129.          9.9  Parameters for Multiple RBBS-PC's/Conferences        115
  130.          9.10 RBBS-PC SysOp Utilities                              118
  131.          9.11 RBBS-PC's File Management System Parameters          120
  132.          9.12 Communications Parameters (part 1)                   124
  133.          9.13 Communications Parameters (part 2)                   128
  134.          9.14 Parameters for RBBS-PC NET-MAIL                      129
  135.          9.15 New Users Parameters                                 131
  136.          9.16 Use of the Library Sub-System                        132
  137.          9.17 RBBS-PC's Parameters for Color                       133
  138.  
  139.     10. THE HAYES MODEM SWITCH SETTING AND CONSIDERATIONS          134
  140.          10.1  Hayes Smartmodem 1200 Switch Settings               136
  141.          10.2  Hayes Command's Considerations                      136
  142.                10.2.1 Command to Reset the Modem                   136
  143.                10.2.2 Command to Initialize the Modem              136
  144.                10.2.3 Command to Count The Number of Rings         137
  145.                10.2.4 Command to Answer the Phone                  137
  146.                10.2.5 Command to Take the Phone Off the Hook       138
  147.                10.2.6 Smartmodem 2400 Firmware Initialization      138
  148.                10.2.7 Smartmodem 9600 Firmware Initialization      140
  149.  
  150.     11.  RBBS-PC's FILE MANAGEMENT SUBSYSTEM                       142
  151.          11.1  Multiple Directory Format                           143
  152.          11.2  The Single and Chained FMS Directory Format         145
  153.          11.3  Advantages/Disadvantages of FMS Directory           146
  154.          11.4  Creating FMS Directories                            149
  155.          11.5  Defining the FMS Category Codes                     151
  156.          11.6  The "Library" Subsystem, CD-ROM, and FMS            153
  157.                11.6.1 How the "Library" Subsystem Works            155
  158.                11.6.2 The "Library" Subsystem and PC-SIG's CD-ROM  156
  159.          11.7  Creating the Personal Files Directory               157
  160.          11.8  Automatically Checking & Converting Uploaded Files  161
  161.         *11.9  Fast File Search                                    163
  162.  
  163.     * New or substantially revised
  164.  
  165.     RBBS-PC CPC17.3                                                 Page 4
  166.  
  167.                            TABLE OF CONTENTS                      Page  Updated
  168.                            -----------------                      ----
  169.     12.  SETTING UP ".BAT" FILES FOR RBBS-PC                       166
  170.  
  171.     13.  THE USE OF RBBS-PC "DOORS"                                167
  172.          13.1  "DOORS" Are Nothing More Than .BAT Files            168
  173.          13.2  A Sample .BAT File for a "DOOR"                     168
  174.                13.2.1  Redirect I/O Using the CTTY Method          168
  175.                13.2.2  Redirect I/O Using the CTTY Method          168
  176.          13.3  Setting Up and Testing a "DOOR"                     169
  177.          13.4  Invoking "DOOR"s Via The External Control File      171
  178.          13.5  EXITing or SHELLing to "DOOR"s                      172
  179.          13.6  Resetting The User's Record Via a "DOOR"            173
  180.          13.7  A Summary of "DOOR"s                                174
  181.  
  182.     14.  THE SECURITY FEATURES OF RBBS-PC                          175
  183.          14.1  RBBS-PC's Security Features                         176
  184.          14.2  Examples of Uses for RBBS-PC's Security System      177
  185.         *14.3  How to Implement the Password File                  179
  186.          14.4  Implementing Security for Download Files            182
  187.          14.5  Implementing Security for RBBS-PC Commands          184
  188.          14.6  Beware of the "Trojan Horse!"                       186
  189.  
  190.     15.  SysOp FUNCTIONS                                           187
  191.          15.1  SysOp Commands Within RBBS-PC                       187
  192.          15.2  SysOp Use of Function Keys and Numeric Pad          189
  193.  
  194.     16.  MESSAGE AREAS WITHIN RBBS-PC                              191
  195.          16.1  "Conferences" and "Sub-boards" -- the Differences   191
  196.          16.2  Making a "Conference" or "Sub-board" Successful     194
  197.          16.3  Setting Up a "Conference" or "Sub-board"            195
  198.         *16.4  Establishing a "Conference" or "Sub-board" SysOp    196
  199.  
  200.     17.  CALLERS AUTOMATIC NOTIFICATION OF MAIL WAITING            197
  201.  
  202.     18.  RBBS-PC QUESTIONNAIRE FACILITIES                          199
  203.          18.1  Branching to Labels                                 200
  204.          18.2  Display Data Command                                201
  205.          18.3  Display Data And Get Response                       202
  206.          18.4  Multiple Choice Responses                           202
  207.          18.5  Forward and Backward Branching                      203
  208.          18.6  Raise/Lower User's Security Level                   203
  209.          18.7  Abort Questionnaire                                 203
  210.          18.8  Chain Questionnaire                                 203
  211.          18.9  Turbo Key                                           203
  212.          18.10 Macro Execute                                       203
  213.          18.11 Assign Value                                        204
  214.  
  215.     19.  RBBS-PC's STANDARD INTERFACE FOR PROTOCOL DRIVERS         205
  216.          19.1  Parameters passed to a protocol driver              206
  217.          19.2  Calling external protocols using "templates"        210
  218.          19.3  Parameters Returned by a Protocol Driver            212
  219.          19.4  The Protocol Drivers Tested With RBBS-PC            213
  220.  
  221.     * New or substantially revised
  222.  
  223.     RBBS-PC CPC17.3                                                 Page 5
  224.  
  225.                            TABLE OF CONTENTS                      Page  Updated
  226.                            -----------------                      ----
  227.     20.  UPLOADED FILE TIPS                                        215
  228.  
  229.     21.  DUE WARNING AND SysOp'S LEGAL LIABILITY                   216
  230.  
  231.     22.  COMPILING AND LINKING RBBS-PC                             217
  232.          22.1  Compiling CONFIG and RBBS-PC                        217
  233.          22.2  LINKing CONFIG                                      218
  234.          22.3  LINKing RBBS-PC                                     218
  235.  
  236.     23.  LIMITED LICENSE                                           219
  237.  
  238.     24.  LIMITED WARRANTY                                          220
  239.  
  240.     25.  THE HISTORY BEHIND RBBS-PC                                221
  241.  
  242.     26.  PROPOSED AGENDA FOR A NATIONAL SysOp CONFERENCE           224
  243.  
  244.     27.  RBBS-PC, THE  LARGEST  SOFTWARE  HOUSE IN THE WORLD       229
  245.  
  246.     APPENDIX A -- RBBS-PC Record Formats                           230
  247.     APPENDIX B*-- RBBS-PC in a DESQview Environment                236
  248.     APPENDIX C -- RBBS-PC in a MultiLink Environment               246
  249.     APPENDIX D -- RBBS-PC in a CORVUS Network                      248
  250.     APPENDIX E -- RBBS-PC in ORCHID or AST PCnet NETWORK           249
  251.     APPENDIX F -- RBBS-PC in an Alloy PC-SLAVE/16 Environment      251
  252.     APPENDIX G -- RBBS-PC and 10 NET Network                       257
  253.     APPENDIX H -- RBBS-PC and the Hearing-Impaired                 258
  254.     APPENDIX I -- RBBS-PC and the IBM PCjr                         259
  255.     APPENDIX J*-- RBBS-PC Subscription Service                     261
  256.     APPENDIX K -- RBBS-PC National Listing Service                 262
  257.     APPENDIX L -- The Ark-Paradyne Modem RBBS-PC Switch Settings   263
  258.     APPENDIX M -- RBBS-PC And the Anchor Signalman Express (MK12)  266
  259.     APPENDIX N -- The Everex 2400 modem RBBS-PC switch settings    267
  260.     APPENDIX O -- Prometheus 2400G modem RBBS-PC switch settings   268
  261.     APPENDIX P*-- US Robotics Modems' RBBS-PC Switch Settings      269
  262.     APPENDIX Q -- RBBS-PC and the FASTCOMM 2496 Turbo Modem        275
  263.     APPENDIX R -- RBBS-PC and the ZOOM Modem HC2400                278
  264.     APPENDIX S -- RBBS-PC And The AT's RS-232 Cable                279
  265.     APPENDIX T*-- RBBS-PC And BASIC Compiler Patches for "Doors"   280
  266.     APPENDIX U*-- Using RBBS-PC to access ORACLE or dBASE Remotely 281
  267.     APPENDIX V -- Using RBBS-PC with SEAdog to Access FIDO-NET     285
  268.     APPENDIX W -- DOS Limitation on Running Programs Remotely      289
  269.     APPENDIX X -- Using RBBS-PC with DoubleDOS                     290
  270.     APPENDIX Y -- Recompiling RBBS-PC to Reduce Memory Required    292
  271.     APPENDIX Z -- The MICROCOM AX9624c RBBS-PC Switch Settings     294
  272.     APPENDIX AA-- The Leading Edge Series L 2400B Modem            295
  273.  
  274.     * New or substantially revised.
  275.  
  276.     RBBS-PC CPC17.3                                                 Page 6
  277.  
  278.     0. PREFACE
  279.     ----------
  280.     RBBS-PC  is a Remote Bulletin  Board System for  the IBM personal computer,
  281.     hence  the  name  RBBS-PC.    RBBS-PC's primary  application  is  a  "host"
  282.     communications package that lets "remote" callers use the host computer for
  283.     many  functions,  including  the  dissemination   of  news  and  bulletins,
  284.     electronic  mail between users, and exchange  of programs and data, as well
  285.     as  open ended  list of  types  of functions,  such as  taking  surveys and
  286.     orders, or  playing games.   RBBS-PC  is a "full  featured" bulletin  board
  287.     system that not  only supports a broad range of functions, but runs "multi-
  288.     user" under  networks and  multi-taskers.  RBBS-PC  can also  but run  as a
  289.     "local"  application  in  which  the  "user" does  not  connect  through  a
  290.     telephone line, such as on a local area network.
  291.  
  292.  
  293.     0.1 The Philosophy Behind RBBS-PC
  294.     ---------------------------------
  295.     RBBS-PC  is  given  away  freely,  with  source  code.    Its  authors  and
  296.     contributors neither ask  for, nor receive any money for their work.  RBBS-
  297.     PC  is  "Userware",  meaning  that it  is  supported  and  enhanced by  the
  298.     community  of people  using it,  who believe  that what  is  shared becomes
  299.     better than  it was.  It is  hoped that RBBS-PC will be  used as a catalyst
  300.     for   the  free  exchange   of  information,  an   educational  example  of
  301.     communications programming, and an irrepressible  political force that puts
  302.     the power of information in the hands of the many.
  303.  
  304.  
  305.     0.2  Distribution of RBBS-PC
  306.     ----------------------------
  307.     Each  new version  of RBBS-PC  is  initially sent  to the  CPCUG's Software
  308.     Exchange for  distribution.  CPCUG  is a Maryland Corporation  whose "legal
  309.     name"  is the Capital PC User  Group, Inc.  The  CPCUG is an all-volunteer,
  310.     non-profit  organization  according to  Section  501C3, Social  Welfare, of
  311.     federal  law.  All  revenues are re-invested in  and applied toward CPCUG's
  312.     education programs.
  313.  
  314.     There is no fee  at all for using or distributing RBBS-PC.   Indeed, no one
  315.     can charge for  its use or distribution, though user  groups and commercial
  316.     distributors of  software can recover  their costs but not  charge anything
  317.     for RBBS-PC itself.
  318.  
  319.     RBBS-PC can  also be downloaded from hundreds of bulletin boards across the
  320.     country.  If  the BBS you are calling is running  RBBS-PC, chances are good
  321.     they will also have the files in their library.
  322.  
  323.  
  324.     0.3  The "Contributions" Requested for RBBS-PC
  325.     ----------------------------------------------
  326.     RBBS-PC  lives and  dies by  the unremunerated  contributions of  it's user
  327.     community.  Four types of "contributions" are requested for RBBS-PC:
  328.  
  329.     A.   Modifications to RBBS-PC, itself, that  are documented and distributed
  330.     as .MRG files against the  "base-line" source code that other  SysOps might
  331.     elect to incorporate into  their version of RBBS-PC.  Remember that RBBS-PC
  332.     can be distributed  in modified form only with permission.   Distributing a
  333.  
  334.     RBBS-PC CPC17.3                                                 Page 7
  335.  
  336.     modified EXE (executable) file without permission violates both the RBBS-PC
  337.     copyright and the limited license granted with it's use.
  338.  
  339.     B.   Publicly distributable  software.   It can  either be  "public domain"
  340.     (i.e. software which  the author has relinquished all rights  and which may
  341.     be appropriated by  anyone for use in  any way), or publicly  distributable
  342.     software (i.e.  software in which  the author has  retained the  rights and
  343.     which may  only be used according to the  conditions under which the author
  344.     has designated).
  345.  
  346.     C.   Equipment  or  services.   If  you  or  your organization  can  donate
  347.     equipment,  software, supplies, or  services to the CPCUG,  feel free to do
  348.     so.  If you are so  inclined, but before you do so, contact  the Capital PC
  349.     User  Group, 51 Monroe  Street, Plaza East  Two, Rockville, MD  20850.  For
  350.     general information  about the appropriateness of the  bequest, contact the
  351.     Capital PC User Group directly at (301) 762-6775.
  352.  
  353.     D.   Money - the last level of "contribution".   Money is the one commodity
  354.     that we are  willing to exchange without first  having obtained the respect
  355.     or consideration of the other party.  It  is perhaps the easiest to give as
  356.     it exonerates us from the other levels  of "contribution."  CPCUG is an all
  357.     volunteer organization and money is  seldom plentiful.  However the essence
  358.     of CPCUG  is  the time,  ideas,  and effort  that  each of  the  volunteers
  359.     contribute  to it.   For this  reason, while  money is  always appreciated,
  360.     money is not  the best or even  the second-best type of  "contribution" you
  361.     could make.
  362.  
  363.     Independent  of  any   donations  of  enhancements  to   RBBS-PC,  publicly
  364.     distributable software,  equipment,  services, supplies,  or money,  please
  365.     consider becoming a member  of CPCUG.  Simply send your  name, address, and
  366.     phone number  along with $35  to CPCUG, 51  Monroe Street, Plaza  East Two,
  367.     Rockville, MD 20850 or call their membership hot line at (301) 670-1737.
  368.  
  369.     If in the final analysis you feel that you can do none of the above,
  370.  
  371.          o remember those who have,
  372.          o enjoy what they have nurtured, and
  373.          o keep the faith with those who have gone before you.
  374.  
  375.     RBBS-PC is what  it is today  only because of  the freely donated time  and
  376.     work  of  many  contributors.    Contributions have  included  suggestions,
  377.     software  fixes,  significant  enhancements,  improved  documentation,  and
  378.     utilities.    Some of  the  individuals  named  here have  continued  their
  379.     contributions to RBBS-PC even to the current release.  Others have  gone on
  380.     to pursue different interests.   But whether mentioned below or not,  their
  381.     contributions  live on  in RBBS-PC.   In  their contributions  to RBBS-PC's
  382.     on-going  growth, each  has paused  to give of  themselves without  hope of
  383.     reward  by  practicing RBBS-PC's  fundamental  principle --  "users helping
  384.     users."
  385.  
  386.     While we  have met  very few  of these  people personally,  those names  we
  387.     remember are:
  388.  
  389.     Doug Azzarito    John German       Blaine Korsel       Samuel H. Smith
  390.     Jeff Batdorf     Read Gilgen       Matt Malden         Gregg Snyder
  391.  
  392.     RBBS-PC CPC17.3                                                 Page 8
  393.  
  394.     Rod Bowman       Ken Goosens       Carl Margolis       Robert Snyder
  395.     Randy Brodersen  Ray Gwinn         Jon Martin          Carl Spencer
  396.     Mike Brown       Dave Hacquebord   Robert Mahoney      David Staehlin
  397.     Sam Brown        Steve Harrison    Sidney Markowitz    Stan Staten
  398.     Mike Button      Gary Hoff         Louie McCaw         Dorn Stickle
  399.     Vince Castelli   Gary Howrith      Wes Meier           Terry Steichen
  400.     Rob Cecchino     Charlie Innusa    John Morris         Randy Sun
  401.     Tom Collins      Loren Jones       Bill Newkirk        Yew Seng Tan
  402.     Drew Commins     Larry Jordan      Jeregen Nordhausen  Terry Taylor
  403.     Ezra Conger      Robert Jueneman   Vince Perriello     Jan Terpstra
  404.     Ed Copley        Vern Kallegin     Harvey Pierce       David Terry
  405.     Richard Couture  Dave Kleinschmidt Danny Plunkette     Arnold Thomsen
  406.     Bob Cramer       Steven Kling      Lee Pollard         Daan van der Weide
  407.     Dave Crane       Ronald Koridon    Jeff Porter         Rick Wadowski
  408.     Everett Delano   John Krytus       James Reinder       Clark Walker
  409.     Peter Eibl       Steve Lieber      Kurt Riegel         Kim Wells
  410.     Warren Fox       Steven Linhart    Joel Ricketts       Bob Westcott
  411.     John Friel       Joseph Lionelle   Jacques Rodrique    Robert White
  412.     Jim Fry          Scott Loftesness  Dick Rohradnz       Carl Slaughter
  413.     Asa Fulton       Harry Logan       Rich Schinnell      Francis Dorer
  414.     Kent Galbraith   Gene Lowry        Mark Seiden         Ray Horton
  415.     Mitch Geier      James Ludwick     Andrew Silber       Blaine Korcel
  416.                      Kevin Lutz                            Mark Lautenschlager
  417.  
  418.     Special thanks goes  to SysOps who helped sponsor  enhancements to RBBS-PC,
  419.     including Ken Rogers  of the United States Department  of Commerce ECONOMIC
  420.     BULLETIN   BOARD   who    encouraged   configurable   identification    and
  421.     individuation,  Loren  Jones of  The Center  for Law  and Computers  at the
  422.     Illinois  Institute  of  Technology's  Chicago-Kent   College  of  Law  who
  423.     contributed to subscription  support, John Rittwage of the American College
  424.     of  Obstretricans and  Gynecologists who  helped support  submenus and  the
  425.     programmable user interface, and Brian Kelly of  National Credit Appraisals
  426.     and  Reporting, whose  special needs prompted  the development  of personal
  427.     downloading.
  428.  
  429.     To those  whose names have  not been mentioned  -- apologies are  extended.
  430.     Take comfort in knowing that you live on in the work that you have wrought.
  431.  
  432.     In  an  age of  cynicism, RBBS-PC  and the  Userware concept  represents an
  433.     opportunity for each  of us to  give back to  the world something a  little
  434.     better than when  we found it, and is something that the authors of RBBS-PC
  435.     believe in strongly.  To each of the contributors to RBBS-PC, we would like
  436.     to say personally
  437.  
  438.               "I am very proud of the company that RBBS-PC keeps."
  439.  
  440.     RBBS-PC CPC17.3                                                 Page 9
  441.  
  442.     0.4  How to Send Improvements
  443.     -----------------------------
  444.     RBBS-PC  continues to  evolve  and  be "debugged."    The following  coding
  445.     conventions have been  helpful in the past and you are requested to observe
  446.     them in the future:
  447.  
  448.     Updates consist of two types of  ASCII files.  One called xxxxxx.MRG  which
  449.     are the  BASIC source statements  for the particular base-line  source code
  450.     component of RBBS-PC to be updated.  The lines that have been  modified are
  451.     indicated as being so modified with a comment beginning in column 70 in the
  452.     format as follows:
  453.  
  454.     4330 QuickScanMessages = ZFalse                                  ' JC011090
  455.  
  456.     These  .MRG  files can  be applied  to  the base-line  source code  via Ken
  457.     Goosens' Batch  Line EDitor utility program  (BLED).  The BLED  utility can
  458.     easily  create .MRG  files as  it has both  a file  compare and  file merge
  459.     function  that  is  specifically   geared  to  the  new   BASIC  compiler's
  460.     capabilities that allow lines of source to be unnumbered.
  461.  
  462.     The second file type is called xxxxxx.DOC.   It describes on a line-by-line
  463.     basis the specific functions added or bug that was fixed.  Obviously xxxxxx
  464.     can be  anything you  wish to name  it.   The second type  of file  is what
  465.     allows me  to integrate several  .MRG files and resolve  whatever conflicts
  466.     that may exist.
  467.  
  468.     Each incremental release of RBBS-PC  beyond CPC17-3 will include updates to
  469.     the base-line documentation.  This  documentation update will include a new
  470.     Table  of Contents which  not only will  be a complete  replacement for the
  471.     base-line Table of Contents  but which also will indicate (to  the right of
  472.     the  page numbers for each  section that has been  updated) the date of the
  473.     latest update (beyond the base-line).
  474.  
  475.     The RBBS-PC naming conventions of CPCxx.x are roughly as follows:
  476.  
  477.     1.  If a "bug" is being fixed CPCxx.x will be given a .MRG file name such
  478.     as  CPC17-3A.MRG  with  a corresponding  CPC17-3A.DOC  file  describing the
  479.     changes.  The first maintenance version of CPCxx.x is always "A".  When you
  480.     logon to RBBS-PC the version will be displayed.
  481.  
  482.     2.  As bugs are  reported and fixes found for the current  release of RBBS-
  483.     PC, the source  code corrections are distributed via  an RFIXmmdd.ZIP file.
  484.     This contains  the necessary files  to apply the "temporary  fixes" against
  485.     the released  version of the  source code  and re-compile the  source code.
  486.     The recompiled .EXE files are distributed via a file named RFIX-EXE.ZIP.
  487.  
  488.     3.  If a new feature or enhancement  is added the last digit in the CPCxx.x
  489.     will be incremented by one (i.e. CPC17.2B was followed by CPC17.3).
  490.  
  491.     4.  If a significant change  to source code or logic occurs, the  first two
  492.     digits  of the  release  level will  change (i.e.  CPC14.1 was  followed by
  493.     CPC15.1)   The purpose of  these conventions is  to allow everyone  to know
  494.     what  RBBS-PC level they are running under and understand the  logic behind
  495.     the changes/fixes as they occur so each SysOp can evaluate them for his own
  496.     needs.
  497.  
  498.     RBBS-PC CPC17.3                                                 Page 10
  499.  
  500.     If  you have comments  or fixes,  please let  us know so  that they  can be
  501.     reflected in the  RBBS-PC program and shared with all other users.  You can
  502.     do that by sending your changes by mail to:
  503.  
  504.                                   Ken Goosens
  505.                                5020 Portsmouth Road
  506.                               Fairfax, Virginia 22032
  507.  
  508.     or uploading the changes to Ken Goosens' BBS at 703-978-6360.
  509.  
  510.     All comments  and suggestions  are welcome,  but those  that are  come with
  511.     source code changes carry more weight.
  512.  
  513.     RBBS-PC CPC17.3                                                 Page 11
  514.  
  515.     1. INSTALLING RBBS-PC
  516.     ---------------------
  517.     RBBS-PC is a powerful application that may take months to master fully, but
  518.     gives those who stick with it  a practically ever expanding power as  their
  519.     knowledge and needs grow.  But it is not necessary to understand everything
  520.     or take advantage of all  its power, before it can be set  up initially, or
  521.     used.   This  section  is intended  to provide  a step-by-step  approach to
  522.     setting up  RBBS-PC.   Follow the steps  thoughtfully!   Do not  proceed to
  523.     subsequent steps until you understand all the previous steps.
  524.  
  525.     Our goal with persons getting started with RBBS-PC for the first time is to
  526.     get  them off to a fast start by (a) bringing up the software to see how it
  527.     runs,  and (b)  getting  the software  to  be able  to  answer an  incoming
  528.     telephone call.  A  BBS strongly reflects the interests  and personality of
  529.     it's SysOp, and RBBS-PC is one of the most flexible and customizable of the
  530.     BBS's.
  531.  
  532.     However,  for those  who are  NOT familiar  with electronic  bulletin board
  533.     systems in general, a good  introduction to installing RBBS-PC is contained
  534.     in the  book "Electronic Bulletin Board  Starter Kit" by  Charles Bowen and
  535.     David Peyton, published by  Bantam Books.  The book does  in 436 pages what
  536.     the next few pages attempt to do.  It is a superb guide for someone who has
  537.     never  setup a bulletin  board system or  is not knowledgeable  about PC or
  538.     asynchronous  communications.   The book comes  complete with  an extensive
  539.     index as well as a  copy of RBBS-PC CPC Version  15-1C and, of course,  the
  540.     associated  source  code.    Since  all  versions  of  RBBS-PC  are  upward
  541.     compatible, this book serves equally well as a guide for the uninitiated to
  542.     all  subsequent versions  of RBBS-PC.    This book  guides the  uninitiated
  543.     potential  SysOp in easy stages from  unwrapping the two diskettes that are
  544.     included with the  book to operating the more  advance features of RBBS-PC.
  545.     The  book  was  published  by   Bantam  Books  in  August  of   1988,  ISBN
  546.     0-553-34552-4, and can be found in most technical book and computer stores.
  547.     It addresses the topic of installing an electronic bulletin board system in
  548.     a far better way than this "Technical Reference Guide" does.
  549.  
  550.     Because RBBS-PC attempts  to provide SysOps the maximum  flexibility, it is
  551.     perfectly possible for those setting RBBS-PC up for the first time to shoot
  552.     themselves in the  foot.  Be patient  with yourself.  Remember  that things
  553.     worth achieving usually are not obtainable without effort.
  554.  
  555.     1.1  First Time Installation
  556.     ----------------------------
  557.     Do not  try to  do everything  at  once.   Keep things  simple and  proceed
  558.     patiently, a step  at a time, putting  only one thing in place.   The files
  559.     you need  are the executables  (RBBS-EXE.ZIP) and system text  files (RBBS-
  560.     TXT.ZIP).   RBBS-PC  comes  completely set  up, ready  to  run.    To  take
  561.     advantage of this set up, you must do the following:
  562.  
  563.     1.   Create a new subdirectory  on drive C.  "RBBS" is a suggested name but
  564.          any can be used (e.g. "BBS").   The DOS command to make  the directory
  565.          is "MD \RBBS".
  566.  
  567.     2.   Copy the  zipped files into the subdirectory.   You must have at least
  568.          RBBS-EXE.ZIP  and RBBS-TXT.ZIP.   The  DOS  command to  copy is  "COPY
  569.          <from> <to>", e.g. "COPY A:RBBS-EXE.ZIP C:\RBBS".
  570.  
  571.     RBBS-PC CPC17.3                                                 Page 12
  572.  
  573.     3.   Make the subdirectory you created your current one  ("CD \RBBS").
  574.  
  575.     4.   Unzip the files using the command "PKUNZIP -d *".   You need to obtain
  576.          a copy of the program "PKUNZIP.EXE" to do this.
  577.  
  578.     Subdirectories will be created off the current directory.
  579.  
  580.     You are  now ready to run  RBBS!  The text  comes come ready with  a sample
  581.     configuration file, and small but empty users  and messages file.  To bring
  582.     up RBBS-PC, at the DOS prompt simply type
  583.  
  584.                         RBBS-PC LOCAL[Enter]
  585.  
  586.     where "[Enter]" means to press the "Enter" key.  The "LOCAL"  tells RBBS-PC
  587.     not  to wait  for a  telephone call  to establish communications  through a
  588.     serial port, but just to run  as a local application, communicating to  the
  589.     user through the  screen and keyboard.   You should see a  copyright notice
  590.     first, then a "WELCOME  TO RBBS-PC", a short message about  a "prelog", and
  591.     then  be asked  "What is your  First Name?"   What  you see on  your screen
  592.     beginning with  the "WELCOME" is exactly the same as a remote caller on the
  593.     telephone line would see.  Put in a dummy name, like "Please Omit" for your
  594.     first and last name.  Just answer the questions and look around.  Your only
  595.     goal at this point is to make sure that the software runs on your computer.
  596.  
  597.     The next goal is to get RBBS-PC to answer an incoming call.  This  requires
  598.     a functioning  communications port, modem,  and telephone line, as  well as
  599.     more configuration information in RBBS-PC.   There are five things you must
  600.     normally do in preparation:
  601.  
  602.     (1)  Set  the hardware  switches on  the modem  properly, but  some modems,
  603.          especially "internal" modems, may have no hardware switches.
  604.  
  605.     (2)  Set the RBBS-PC modem commands properly for your modem, especially the
  606.          modem initialization string and firmware initialization string.
  607.  
  608.     (3)  Initialize the modem's  firmware.   This makes  permanent the settings
  609.          that RBBS needs.
  610.  
  611.     (4)  Set the baud rate to open modem  at, normally to the highest speed the
  612.          modem supports.
  613.  
  614.     (5)  Set the communications port to what the modem is using.
  615.  
  616.     In the  best of  all worlds,  the factory  settings of  the modem are  what
  617.     RBBS-PC wants and RBBS-PC's default  settings work, so that nothing at  all
  618.     must be changed.  This is normally the case for the USR Courier 2400 modem.
  619.  
  620.     Your  key to  setting everything  up is  the RBBS-PC  configuration program
  621.     called "CONFIG.EXE".  CONFIG is your  guide to configuring RBBS-PC for your
  622.     preferences  and environment,  and basically  is  just a  smart editor  for
  623.     setting up RBBS-PC.  RBBS-PC stores its configuration parameters  in a file
  624.     called "RBBS-PC.DEF".  To edit configuration file RBBS-PC.DEF, just type
  625.  
  626.                        CONFIG RBBS-PC.DEF[Enter]
  627.  
  628.     RBBS-PC CPC17.3                                                 Page 13
  629.  
  630.     You will see  a copyright notice, CONFIG  will read in the  current values,
  631.     and then you will  see a kind of index to the many  pages of parameters you
  632.     can set.   There are  about 300 parameters  you can set  in RBBS-PC,  which
  633.     sounds and can  be intimidatingly complex.  Most you will never change, but
  634.     RBBS-PC has tremendous  power and flexibility if  and when you do  need it.
  635.     You can just  press the page  down key  "PgDn" to see  the many screens  of
  636.     parameters,  if you want  to browse.   Do not be  intimidated.   There is a
  637.     single function for setting all the "key" parameters at once, and there are
  638.     only a few you  need to review in order to ensure  that RBBS-PC will answer
  639.     the telephone properly.
  640.  
  641.     You can jump to the  screen with communications parameters by holding  down
  642.     the  shift  key  and  pressing  F2.    You  should  first  make  sure  your
  643.     communications  port number is correct.   RBBS-PC defaults  to COM1 but you
  644.     could be using COM2.   It is possible to  use COM3 or COM4 but there  is no
  645.     accepted  standard for  these and  they are  not recommended  to beginners.
  646.     Most internal modems come  set up as COM2.  Configuration  parameter number
  647.     221 sets the communications port number.
  648.  
  649.     The key to getting your  modem to work properly is  configuration parameter
  650.     225: set  modem commands.   This  will display  a screen  with the  current
  651.     settings.   You should then pick "0" to set to defaults.  This in turn will
  652.     bring up  another screen  that will list  a modem  model and  it's hardware
  653.     switch settings.   Keep pressing "Enter" to  bring up another modem choice.
  654.     When you  see your modem, simply enter "S" for "select".  If you do not see
  655.     your  modem, you  should probably  try  using the  "Hayes SmartModem  2400"
  656.     settings because most  modems are supposedly "100% Hayes  compatible".  Set
  657.     any hardware switches according to the  directions.  If you do not have  an
  658.     entry fitting your modem, consult your modem manual.  The key values to set
  659.     are:  Data Terminal Ready (DTR) to normal versus always on or high, Carrier
  660.     Detect (CD) to normal versus on or high, and Auto Answer (AA) to off versus
  661.     on.
  662.  
  663.     After setting the modem commands, you will probably  want to initialize the
  664.     modem's firmware using configuration function 231.  You must have  the port
  665.     number set  right and your modem must be on and connected in order for this
  666.     function to work.  You should see the lights  on your modem blink, assuming
  667.     you have an external modem.
  668.  
  669.     Modems have a maximum speed at which they will work, and most should be set
  670.     at the maximum, whether it is 9600 or  2400 or 1200.  The modem will simply
  671.     not work if  you use a speed higher  than it supports.   Modems will detect
  672.     the speed of the incoming call  and match it, but some will only  kick down
  673.     from the higher speeds, so it is generally best to set the initial speed to
  674.     the highest supported value.   Configuration parameter 228 sets the initial
  675.     speed that RBBS "opens" the modem at.
  676.  
  677.     Now you are ready to make sure that RBBS-PC will answer incoming calls.  Be
  678.     sure you have your modem connected and on.  Then simply type
  679.  
  680.                             RBBS-PC[Enter]
  681.  
  682.     You  should see  a copyright screen.   RBBS-PC  will put  up a  screen with
  683.     boxes.  The modem lights should flash, and RBBS-PC should put up "Ready for
  684.     Calls" in a  box.  Four lights  on an external  modem will normally be  on:
  685.  
  686.     RBBS-PC CPC17.3                                                 Page 14
  687.  
  688.     High  Speed (HS), Auto  Answer (AA), Modem  Ready (MR),  and Terminal Ready
  689.     (TR).  Ideally,  you have a second  computer beside the first with  a modem
  690.     and telephone line that you can use  to call the BBS.  Otherwise, you  have
  691.     friend with a computer call it.  You need to call with a modem to make sure
  692.     that the two modems  will talk.  When the call comes in, the Ring Indicator
  693.     (RI) should blink.  Then the Off  Hook (OH) and Carrier Detect (CD)  lights
  694.     should come on as  the modems link.   And RBBS-PC should  chip in with  its
  695.     opening "WELCOME TO" line, and the send (SD) and receive (RD) lights should
  696.     blink periodically.  If the lights blink but you see nothing, you  may need
  697.     to turn "snoop" so you can see  the session on your local terminal.   Press
  698.     F9.  If that doesn't  do anything, press it again.   After the caller  says
  699.     "Goodbye", RBBS-PC should recycle, the CD and OH lights go off, and the box
  700.     reappear that finally says it is again ready for calls.
  701.  
  702.     Once you have RBBS-PC answering calls,  you are ready to begin  customizing
  703.     the board, setting it  up the way you want, and adding  features.  You have
  704.     two primary tools: CONFIG.EXE, and a full screen editor.  You need what  is
  705.     called a "programmer's" editor versus a word processor - one that only puts
  706.     in what you type and never inserts any hidden or  special characters - what
  707.     is sometimes called as straight "ASCII" editor.
  708.  
  709.     Here we will walk you through what is behind what the caller sees on logon.
  710.     The first message  is "WELCOME TO "  followed by the name of  the board, as
  711.     specified in configuration parameter 12.
  712.  
  713.     Next the  file PRELOG  is displayed.   This file need  not be  present, and
  714.     generally should be brief, as it is displayed on every call.
  715.  
  716.     Callers are  then asked to  identify themselves, by answering  the question
  717.     "What is your FIRST name?"  The text after "your" can be set up with CONFIG
  718.     parameter 45,  though most  SysOps do  not change  it (e.g.  "What is  your
  719.     ACCOUNT ID?").  The next question is  "What is your LAST name?", which  can
  720.     be set in parameter 46.
  721.  
  722.     If the caller is not in the user's file, which normally means  that this is
  723.     a  new, first  time  caller, then  RBBS-PC  displays the  text  file called
  724.     NEWUSER.   Here you  should explain  the board and  the rules you  have for
  725.     people to follow.
  726.  
  727.     Callers  next see  a  welcome specific  to their  security level,  called a
  728.     "logon  level greeting file".   These files  take the form  LGnn.DEF, where
  729.     "nn" is their  security level  (e.g. level  10 callers would  see the  file
  730.     LG10.DEF,  if it  is present in  the default  directory).  Then,  a general
  731.     "welcome" file is displayed.  The general welcome file shown to  the caller
  732.     can be changed "on the fly" by RBBS-PC, dependent on  what sort of Graphics
  733.     option the caller has selected.   SysOps often use this for an  ANSI log-in
  734.     screen.
  735.  
  736.     There are  many other  things in  RBBS you  will want  to set  up, such  as
  737.     bulletins, news, and conferences.  An optional summary of the many features
  738.     of RBBS is included in the documentation file FEATURES.ASC.
  739.  
  740.     RBBS-PC CPC17.3                                                 Page 15
  741.  
  742.     1.2 WHAT'S NEW IN 17.3?
  743.     -----------------------
  744.     The most important changes are:
  745.  
  746.     (1)  ALL VARIABLES  in RBBS-PC source has been changed.   This is the first
  747.          step in an  effort to make the  RBBS-PC code more programmer  friendly
  748.          and to  exploit  the  growing  power of  MicroSoft  BASIC.    A  cross
  749.          reference of old and new names is available in 173-NEW.ZIP.
  750.  
  751.     (2)  Over 60 bugs/problems have been fixed.  The most significant are:
  752.  
  753.            (a) RBBS-PC can finally handle the midnight rollover.
  754.                New functions are available that effortlessly handle
  755.                any time calculation.
  756.  
  757.            (b) User record in memory was sometimes "lost"
  758.  
  759.            (c) Restricting session time for an external net mail
  760.                event was lost after a door
  761.  
  762.            (d) Board would sometimes hang when message quoted had
  763.                to be reformatted to fit the margins
  764.  
  765.            (e) Archive view function no longer hangs under QB 4.5.
  766.  
  767.     (3)  Code was rewritten to be faster and generally smaller
  768.  
  769.     (4)  Over 20 enhancements were added, of which the most significant
  770.          are:
  771.  
  772.            (a) Search for a file's existence on upload and download has
  773.                been vastly speeded up.  Based on an indexed binary search
  774.                of a sorted list of file names.
  775.  
  776.            (b) Data base function to forward search (jump to a line
  777.                containing a particular string and continue from there)
  778.                was added for all file and text displays
  779.  
  780.            (c) NEWS facility that automatically displays news since
  781.                last on to callers
  782.  
  783.            (d) callers can now stack commands to virtually any depth, and
  784.                stacking is consistently supported everywhere.
  785.  
  786.            (e) modem commands can be selected based on modem model.
  787.  
  788.            (f) Users may now FORWARD their mail to another user.  SysOps
  789.                or users having sufficient security to edit a message
  790.                can forward it to anyone as well as change anything in the
  791.                message header.
  792.  
  793.            (g) The MSG header Security change now allows the SysOp to change
  794.                ANY field in the header.
  795.  
  796.            (h) When reading mail, the SysOp can instantly edit the USER
  797.  
  798.     RBBS-PC CPC17.3                                                 Page 16
  799.  
  800.                record of the message sender, then return to reading.
  801.  
  802.     The specific enhancements added include:
  803.  
  804.     (1)  When you have  insufficient time to download all  the files requested,
  805.          RBBS will inform  you of the  files omitted but  try to download  what
  806.          there is time for instead of cancelling the entire download request.
  807.  
  808.     (2)  Timelock message now shows minutes & seconds left in time lock.
  809.  
  810.     (3)  Command  stacking  now  supported consistently  and  to  virtually any
  811.          depth.
  812.  
  813.     (4)  Autopage message less stiff and formal when caller notified that SysOp
  814.          wanted to know caller logged on.
  815.  
  816.     (5)  Chat time given  back when SysOp initiates  chat and no longer  counts
  817.          against session time.
  818.  
  819.     (6)  Conference name added to message header.
  820.  
  821.     (7)  Support for new ZIP imploded compression.
  822.  
  823.     (8)  NEWS  facility  added.   Special  bulletin displayed  automatically on
  824.          logon when updated since user last on.
  825.  
  826.     (9)  Message quoting first  gives the edit command prompt but  tells how to
  827.          continue adding to a reply.
  828.  
  829.     (10) Default extension automatically added to uploads and downloads when no
  830.          extension is specified
  831.  
  832.     (11) Forward search added to all directory displays and text file displays
  833.  
  834.     (12) Delays and embedded returns can be put into modem control strings.
  835.  
  836.     (13) Caller shown on welcome line if connection is reliable
  837.  
  838.     (14) SmartText  can  control  whether  substituted  value  is  inserted  or
  839.          overlaid
  840.  
  841.     (15) SmartText can control whether substituted value is trimmed of  leading
  842.          and trailing spaces first
  843.  
  844.     (16) Caller  is informed  when  session  time is  shortened  because of  an
  845.          external net mail event.
  846.  
  847.     (17) Can use "s" for since  last listed on file N)ew command (e.g.  "n s u"
  848.          for list new files since last on in upload directory).
  849.  
  850.     (18) When replying  to a  message,  will automatically  continue if  person
  851.          sending mail to is not in the user's file, rather than asking the user
  852.          whether wants to re-enter name or continue.
  853.  
  854.     (19) Macro questions can have edits  forcing answer to be one of  a list or
  855.  
  856.     RBBS-PC CPC17.3                                                 Page 17
  857.  
  858.          between two values.
  859.  
  860.     (20) Protocols  to be used to download and upload can be specified anywhere
  861.          in stacked command line rather than just on end.
  862.  
  863.     (21) File searches on up and downloads have  been vastly speeded up.  Makes
  864.          a huge different  on slow devices like CD-ROMs.  Also, have ability to
  865.          trigger OFF LINE processing for files elsewhere.
  866.  
  867.     (22) Config gives option  to set modem commands based on modem model.  Uses
  868.          external file  MODEMS.SET  in default  drive/path.   Makes  RBBS  much
  869.          easier to set up.
  870.  
  871.     (23) SysOps can now track UL/DL's and have a "free download" period.
  872.  
  873.     (24) SysOps can now explain exactly what a REGISTRATION EXPIRES means.  The
  874.          HELP file RGXPIRE.HLP is  seen when a user is warned,  and RGXPIRD.HLP
  875.          is seen when RBBS-PC reduces a caller's access.
  876.  
  877.     (25) Support for 38,400 bps, but only through Fossil drivers.
  878.  
  879.     (26) Can have multiple extensions searched  when trying to detect duplicate
  880.          on upload (new config parm 169).
  881.  
  882.     RBBS-PC CPC17.3                                                 Page 18
  883.  
  884.     1.3 UPGRADING TO CPC17-3
  885.     ------------------------
  886.     When  upgrading to  CPC17-3 from  earlier versions  of RBBS-PC,  follow the
  887.     following steps:
  888.  
  889.     1.    Do not  destroy  or  overwrite your  old  files.   You  may  run into
  890.     difficulties and have to fall  back to the old version.  Especially  keep a
  891.     backup of your current USERS, MESSAGES, configuration "DEF" files, and your
  892.     RBBS-PC.EXE and CONFIG.EXE files.
  893.  
  894.     2.  Start by trying to get the  new version just to run equivalently to the
  895.     old  without implementing new  features.  Implement  new features  one at a
  896.     time.  Do not try to implement everything new at once.
  897.  
  898.     3.  The file that almost always changes between non-maintenance versions is
  899.     a  configuration "DEF"  file.   A  utility program  called RECONFIG.EXE  is
  900.     provided that converts all versions from 14.1D on to the latest.  This will
  901.     save you the trouble of manually re-entering the parameters.  If you do not
  902.     have RECONFIG  you should print  out all the  options you selected  on your
  903.     current RBBSxPC.DEF file.
  904.  
  905.     4.   CONFIG.EXE has an  option to review  the parameters changed  since the
  906.     last version.  You  should always run this to see what  is new and possibly
  907.     change  the values.   If you  do not have  RECONFIG, you generally  need to
  908.     delete  your current  RBBSxPC.DEF file  and manually enter  the parameters.
  909.     Sometimes, however, the same parameters will be in a different place in the
  910.     new configuration.  If you are  upgrading from several versions back, there
  911.     is no simple way of knowing what all is new.
  912.  
  913.     5.   The MESSAGES and USERS  files are the  two that are most  important to
  914.     continue  to be able to  use.  RBBS-PC 17.3  is compatible on both accounts
  915.     with files at least back through version 14.  However,  there is a critical
  916.     parameter to  set in CONFIG: the  minimum security to auto-add a  user to a
  917.     conference.  This applies to conferences not sub-boards,  i.e. that have no
  918.     configuration DEF file.   Go into  CONFIG, conference mode, and  then check
  919.     this value.  No one will  be able to join the conference if  their security
  920.     is below this number, even the SysOp.  Reset this value so that the desired
  921.     callers can join the conference.
  922.  
  923.     6.  RBBS is written to  be upward compatible, preserving all the  functions
  924.     of earlier versions.   However, you  may have  to make changes  to the  new
  925.     configuration to  make it run equivalently.   If upgrading  from 17.2x, you
  926.     need to consider the following:
  927.  
  928.          (a)  replace RBBS-PC.EXE and CONFIG.EXE
  929.  
  930.          (b)  If you want  file a)ll to list multiple  physical directory files
  931.               (as opposed to say  just the FMS master file), then  you must set
  932.               up RBBS differently (see configuration parameter 218).
  933.  
  934.          (c)  If you  turned on  "enforce ratios", but  exempted all  security 
  935.               levels (this to get RBBS  to track, but not restrict, downloads),
  936.               you must  change the  ratio (parameter  9 in PASSWRDS)  to -1  in
  937.               order for the code to work equivalently.  Similarly, a ratio of 0
  938.               will not even  COUNT the downloads.  (This  allows "free" periods
  939.  
  940.     RBBS-PC CPC17.3                                                 Page 19
  941.  
  942.               of downloading to be specified.)
  943.  
  944.     7.  If upgrading from 17.1, you need especially to consider:
  945.  
  946.          (a)  the minimum  security to read and kill all  messages.  If this is
  947.               set to 0, everybody can read everyone else's mail!
  948.  
  949.          (b)  RBBS formerly supported the "arc"  format exclusively.  Now "zip"
  950.               is  its default,  but it  can  be set  up for  any.   Review  the
  951.               parameters for default extension and archiving command.
  952.  
  953.          (c)  Your  personal  directory may  not  work  unless  you  include  a
  954.               drive/path.  Re-enter the parameter value in config.
  955.  
  956.     6.    If you  are  upgrading from  a version  prior  to 17.1,  consider the
  957.     possibility  that the  PASSWRDS  file  may have  a  different format,  that
  958.     external protocols  are controlled by  an external table  (PROTO.DEF), that
  959.     the doors interface may be different, and the control for an timed even may
  960.     be different.  Read the pertinent sections in config on  this topics if you
  961.     are using them.
  962.  
  963.     9.   Use the new text files,  especially the menus and help  files.  If you
  964.     have customized  versions of  these, start with  the distributed  files and
  965.     change them.
  966.  
  967.     10.   Last, review  the documentation on  the major areas  of enhancements.
  968.     Chapter 27  on the history of  RBBS-PC briefly reviews the  enhancements in
  969.     each version  of  RBBS-PC.   Some specific  things that  you  want to  take
  970.     advantage of include:
  971.  
  972.          (a)  Macros and SmartText  have been  significantly improved in  17.3.
  973.               You no longer need to include a "{ST"  at the end of macros and  
  974.               will probably want to  omit it.  You may  want to enhance your   
  975.               menus as well.  See the revised sections on SmartText and Macros.
  976.  
  977.          (b)  You may want to make file searches  faster and reduce the wear on
  978.               your hard disk  by installing the fast  file search system.   See
  979.               section 11.9.
  980.  
  981.          (c)  You may  want to create  a new category  of system bulletins  - a
  982.               NEWS facility (see section 6.13).
  983.  
  984.     The major changes in 17.2A were:
  985.  
  986.          (a)  use  of shelling triggered  by the presence of  BAT files to test
  987.               uploads for integrity, convert uploads to a different format, and
  988.               support viewing of text files  inside ZIP files, and verbose list
  989.               any compressed format,
  990.  
  991.          (b)  greatly  enhanced macros and  questionnaires, including  new data
  992.               base functions,
  993.  
  994.          (c)  enhanced doors interface, including an  external control file for
  995.               doors (DOORS.DEF) as  well as  the ability of  a door to  request
  996.               that  RBBS  change   the  user   record  (DOUTx.DEF),  pass   any
  997.  
  998.     RBBS-PC CPC17.3                                                 Page 20
  999.  
  1000.               information via command line or a file to a door, and  for a door
  1001.               to return information to be displayed to the caller
  1002.  
  1003.          (d)  the message files  can be configured to have minimum size to hold
  1004.               the messages and let grow in size as new messages are added,
  1005.  
  1006.          (e)  conferences  and  subboards  can be  configured  to automatically
  1007.               change the user's security to match the logon security,
  1008.  
  1009.          (f)  message quoting, allowing the  option to type in  be the same  on
  1010.               different submenus and be a  single keystroke, speech synthesizer
  1011.               support  for visually impaired SysOps, making uploads immediately
  1012.               shareable on  Novell networks, an  easy way to give  a conference
  1013.               moderator access to all mail  without having to make them SysOps,
  1014.               chained FMS directories, and more.
  1015.  
  1016.     PLEASE NOTE!!!!! ----  CPC17-3 does NOT change  the structure of the  user,
  1017.     message, or DEF files from that in 17.2.
  1018.  
  1019.     RBBS-PC CPC17.3                                                 Page 21
  1020.  
  1021.     1.4 COMMON PROBLEMS ENCOUNTERED INSTALLING RBBS-PC
  1022.     --------------------------------------------------
  1023.     IT CONTINUALLY RECYCLES!  This can have  several causes.  RBBS-PC  requires
  1024.     that a modem be attached to your communications port.  Therefore:
  1025.  
  1026.          1.   check what communication port is being used.
  1027.          2.   verify that this communications port exists.
  1028.          3.   verify that your modem is attached to it.
  1029.          4.   verify that your modem is powered up.
  1030.          5.   verify that your modem is configured properly.
  1031.          6.   verify that CONFIG knows what kind of modem you're using.
  1032.          7.   verify that the modem cable  supports all ten signals required by
  1033.               RBBS-PC (see Appendix S).
  1034.          8.   verify that DTR (Data Terminal Ready) and CD (Carrier Detect) are
  1035.               set to "normal" rather than always "on" (sometimes called  "true"
  1036.               and "forced" instead).
  1037.          9.   verify that each DOS subdirectory referred to in CONFIG exists.
  1038.          10.  verify that RBBS-PC runs properly when set up to use COM0 (i.e. a
  1039.               local workstation).
  1040.  
  1041.     If, after all of the above has  been attempted, the problem still persists,
  1042.     try deleting your  MESSAGES and USERS files and re-run CONFIG to create new
  1043.     ones.
  1044.  
  1045.     Finally, having exhausted  all the above remedies, the  system continues to
  1046.     continually re-cycle, you may have an incompatible "clone" PC, incompatible
  1047.     DOS, incompatible modem, and/or a bad copy of RBBS-PC.EXE.
  1048.  
  1049.     IT WON'T ANSWER THE PHONE!  This also can be caused by one of the following
  1050.     things:
  1051.  
  1052.          1.   Phone line is not plugged into the modem.
  1053.          2.   Modem is not powered on.
  1054.          3.   Modem is  not connected to  the communications port  that RBBS-PC
  1055.               was told to use.
  1056.          4.   Your modem is  not "Hayes compatible" enough to  handle the modem
  1057.               commands described in section 10.
  1058.          5.   Your modem cable does not have Pin 22 connected.
  1059.  
  1060.     There are two conditions under which RBBS-PC does not require Pin 22 in the
  1061.     RS-232 cable to reflect the status of "ring".
  1062.  
  1063.     RBBS-PC does not require Pin 22 to be hooked up on the RS-232 cable (that's
  1064.     the  cable which runs between  the modem and the  computer, by the way), if
  1065.     you  specify in CONFIG that RBBS-PC  is to answer the  phone on zero rings,
  1066.     and that  it is not  a "RING-BACK"  system.  In  this setting  RBBS-PC will
  1067.     initialize the modem so that the modem AUTOMATICALLY answers the phone.
  1068.  
  1069.     RBBS-PC also  does not require Pin  22 to reflect  the status of  ring when
  1070.     your  modem returns the  result code "RING"  as the phone is  ringing.  The
  1071.     default setting for  RBBS-PC is that  it depends on  either Pin 22,  or the
  1072.     modem result  code "RING",  to know  when the  phone is  ringing.   This is
  1073.     because  RBBS-PC, and NOT  the modem, answers  the phone.   When RBBS-PC is
  1074.     informed  by the modem that  the phone is  ringing, it counts  the rings by
  1075.     issuing  the "ATS1?"  command.  When  the number  of rings has  reached the
  1076.  
  1077.     RBBS-PC CPC17.3                                                 Page 22
  1078.  
  1079.     number you told  CONFIG you wanted to answer after, RBBS-PC sends the "ATA"
  1080.     command to tell the the modem to answer the phone (see section 12).
  1081.  
  1082.     If your  modem does  NOT send  the characters  "RING" each  time the  phone
  1083.     rings,  THEN you will need  a cable with Pin  22 connected.  Some computers
  1084.     (such as the PCjr's external RS-232 interface)  and some modem cables don't
  1085.     have a "ring-indicator" signal.  Pin  22 is the ring indicator coming  from
  1086.     the modem  going to the  computer.  And just  because you bought  an RS-232
  1087.     cable, don't assume  that it has Pin  22 connected.  This is  often not the
  1088.     case.
  1089.  
  1090.     Relying on the modem result code, or  allowing the modem to auto-answer the
  1091.     phone, are the preferred methods.
  1092.  
  1093.     IT LOCKS UP MY SYSTEM!  This may be caused by one of the following things:
  1094.  
  1095.          1.   The .EXE  file generated  by the  BASIC compiler  is incompatible
  1096.               with either the DOS that you are running (i.e. it isn't IBM's PC-
  1097.               DOS), or other software you load into the system prior to running
  1098.               RBBS-PC (such as a device  driver loaded in CONFIG.SYS, or  a TSR
  1099.               program  loaded  in your  AUTOEXEC.BAT  file).   Remove  all non-
  1100.               essential memory resident software.
  1101.  
  1102.          2.   You  indicated  in  CONFIG  that  you were  running  one  of  the
  1103.               supported networks  (i.e. CORVUS,  MultiLink, Orchid,  etc.), but
  1104.               you aren't.
  1105.  
  1106.          3.   You are running  on a COMPAQ  DeskPro, or  using an add-on  board
  1107.               that uses  the unused IBM  DOS interrupt 7F hex,  and should have
  1108.               used CONFIG parameter 29 to indicate you are using a COMPAQ PC.
  1109.  
  1110.          4.   Your modem isn't set up correctly, probably not supplying us with
  1111.               "true" carrier detect  (i.e. the modem tells us that  a caller is
  1112.               connected  when that's  not  true).   Try  selecting "Hayes  2400
  1113.               compatible" as the modem type in CONFIG, and use parameter 231 to
  1114.               re-program the modem's firmware.
  1115.  
  1116.          5.   RBBS-PC is trying to  log to a printer that does not  exist or is
  1117.               not turned on,  or out of paper,  and no error condition  is ever
  1118.               being returned back to RBBS.  In CONFIG, tell RBBS-PC to turn the
  1119.               printer off after each recycle (parameter 52).
  1120.  
  1121.          6.   Your system does not support standard DOS system calls for screen
  1122.               writes.  Try setting configuration  parameter 39 to use BASIC for
  1123.               screen writes.
  1124.  
  1125.          7.   Your system is not  as PC compatible as it should  be and may use
  1126.               strange  interrupts.     Try  turning   assembler  routines   off
  1127.               (parameter 38).
  1128.  
  1129.     RBBS-PC CPC17.3                                                 Page 23
  1130.  
  1131.     2. "Base-Line" Hardware and Software Requirements
  1132.     -------------------------------------------------
  1133.     RBBS-PC  is designed  to run  on an IBM  Personal Computer,  or compatible,
  1134.     running  IBM's   Disk  Operating   System  (DOS),   communicating  via   an
  1135.     asynchronous  communications adapter (aka  a "COM"  or "serial"  port), and
  1136.     using a Hayes Smartmodem, or compatible modem.  The following equipment and
  1137.     software  is the  MINIMUM  and the  recommended  configuration for  running
  1138.     RBBS-PC:
  1139.  
  1140.  
  1141.          Item                 Minimum                     Recommended
  1142.  
  1143.      System        IBM PC or compatible          IBM AT or compatible
  1144.  
  1145.      Monitor       80 column monochrome          80 column color monitor
  1146.  
  1147.      COM port      RS-232 adapter with an Intel
  1148.                    8250 UART chip                RS-232 adapter with an Intel
  1149.                                                  16550AN UART chip    
  1150.      Modem         Any Hayes Smartmodem 1200,
  1151.                    or 100% compatible modem      A US Robotics Courier HST
  1152.                                                  dual standard 9600 bps modem
  1153.  
  1154.      Phone line    Voice grade telephone
  1155.                    connection for modem          Voice grade telephone
  1156.                                                  connection for modem
  1157.  
  1158.      Modem cable   25 pin RS-232 shielded cable  25 pin RS-232 shielded cable
  1159.  
  1160.      RAM           512K RAM available for DOS
  1161.                    and RBBS-PC                   640K RAM available for DOS
  1162.                                                  and RBBS-PC
  1163.  
  1164.      Disk size     20MB hard disk                120MB hard disk      
  1165.  
  1166.      DOS version   PC-DOS version 2.1            PC-DOS 3.3 or higher
  1167.  
  1168.     The .EXE  files are distributed  with RBBS-PC as  well as the  BASIC source
  1169.     code  so it  is not  necessary to  have a  BASIC Compiler  to  run RBBS-PC.
  1170.     However, for those who  would like to compile RBBS-PC from  the source code
  1171.     the recommended compiler is Microsoft's QuickBASIC.
  1172.  
  1173.     The MINIMUM  configuration that can run RBBS-PC is an  IBM PC that has 320K
  1174.     of random  access  memory (RAM),  one double-sided  disk  drive, an  RS-232
  1175.     communications port with  a Hayes modem and  IBM's PC DOS 2.0  (or higher).
  1176.     To  run in 320K  it is  necessary to recompile  RBBS-PC --  see Appendix Y.
  1177.     Also if you choose to allow external file protocol transfers, an additional
  1178.     192K of memory is required if you SHELL to them rather than EXIT.
  1179.  
  1180.     Beginning with  RBBS-PC version CPC13-1A,  RBBS-PC requires version  2.0 or
  1181.     above of IBM's Disk Operating System (DOS).  RBBS-PC will not run under the
  1182.     BASIC interpreter.    RBBS-PC runs  under  MS-DOS to  the extent  that  the
  1183.     executable code generated by the IBM/Microsoft BASIC compiler is compatible
  1184.     with the  multitude of different  MS-DOS's.  RBBS-PC  is generic, but  some
  1185.     versions of DOS do not work, such as remote drop to DOS under Tandy DOS.
  1186.  
  1187.     RBBS-PC CPC17.3                                                 Page 24
  1188.  
  1189.  
  1190.     If you have a second telephone installed specifically for RBBS-PC,  ask for
  1191.     a second voice grade telephone line.  Data lines are very expensive and are
  1192.     not necessary.  The program requires the use of a Hayes Smartmodem (or  one
  1193.     that is 100% compatible) in order to function properly.  If  your non-Hayes
  1194.     modem doesn't work with RBBS-PC, send RBBS-PC  (source code and all) to the
  1195.     vendor  and  ask  him to  explain  why it  doesn't  work, if  the  modem is
  1196.     compatible.
  1197.  
  1198.     RBBS-PC CPC17.3                                                 Page 25
  1199.  
  1200.     3. RBBS-PC's SUPPORT POLICIES
  1201.     -----------------------------
  1202.     3.1 RBBS-PC's User Support Policy
  1203.     ---------------------------------
  1204.     RBBS  is supported  as well  as any  commercial product  (even better  than
  1205.     some),  albeit  in  a different  way.    Rather than  a  single  source for
  1206.     technical support, RBBS  distributes its help via a  network of volunteers.
  1207.     These include:
  1208.  
  1209.     o    Written documentation with RBBS,  which you are reading.  This is more
  1210.          a reference than a guide for novices, however.
  1211.  
  1212.     o    A  book,  "The  Complete  Electronic   Bulletin  Board  Starter  Kit",
  1213.          published by Bantam Books and available at B. Dalton Bookstores.  This
  1214.          book  covers  installing  RBBS-PC  in  detail,  although  the  version
  1215.          discussed is  15.1C.  (Note  that RBBS remains upward  compatible with
  1216.          15.1C, and virtually everything in the book still applies.)
  1217.  
  1218.     o    A commercial product, "RBBS-PC in a Box", a CD-ROM disc which has 7000
  1219.          shareware  and public domain programs stored in compressed format, and
  1220.          has  RBBS virtually  pre-installed.   You can  be online  only minutes
  1221.          after installing  the CD-ROM.   For information and  ordering, contact
  1222.          Loren Jones (number listed below).
  1223.  
  1224.     o    Network  mail.    Both   RBBS-Net  and  RelayNet  have  RBBS   support
  1225.          conferences.  For RBBS-Net, contract Rod Bowman (number listed below).
  1226.          For RelayNet contact Greg Snyder (703-323-1782, data number).
  1227.  
  1228.     o    Telephone support.  The authors of RBBS do not get paid for their work
  1229.          on the system and typically have other jobs, so the amount of time for
  1230.          direct voice support is limited.  But, time permitting, the authors DO
  1231.          accept calls  and are  willing to  help, and  can often  refer you  to
  1232.          others who  can help.  There are two support numbers you can call with
  1233.          RBBS questions.  They are:
  1234.  
  1235.               (407) 627-9767 -- Voice mail system of Doug Azzarito
  1236.  
  1237.               (203) 268-9656 -- Answering machine of Tom Mack
  1238.  
  1239.     o    Support Boards.  Support boards are BBS's where the SysOp:
  1240.  
  1241.               o    commits to running RBBS for the foreseeable future
  1242.  
  1243.               o    has an at least one free, public line
  1244.  
  1245.               o    is regularly available for helping others
  1246.  
  1247.               o    makes  the latest version  of RBBS available,  either       
  1248.                    electronically or by mail
  1249.  
  1250.     RBBS-PC CPC17.3                                                 Page 26
  1251.  
  1252.     Please  realize that bulletin  boards may cease  to exist,  or change their
  1253.     phone numbers,  and  that other  commitmets  can make  people  unavailable.
  1254.     Bearing  that  in mind,  the  list  of  BBSes knowledgeable  about  RBBS-PC
  1255.     include:
  1256.  
  1257.          Arizona
  1258.  
  1259.               Tucson:  Gene Lowry, Bigfoot RBBS.  (602) 886-7943
  1260.  
  1261.          California
  1262.  
  1263.               Alta Loma:  Rod Bowman, The PC Spectrum.  (714) 945-2612, 2 lines
  1264.  
  1265.          Connecticut
  1266.  
  1267.               Trumbull:  Tom Mack, The Second Ring.  (203) 268-5315
  1268.  
  1269.          Florida
  1270.  
  1271.               Tampa:  Dave Hacquebord, The  Sunshine Board.  (813) 887-3984 and
  1272.               (813) 885-4659
  1273.  
  1274.               West Palm  Beach:   Doug Azzarito,  Technology Consultants  RBBS.
  1275.               (407) 627-6969 and (407) 627-6862
  1276.  
  1277.               Delray Beach:  Mark Lautenschlager, Boca Bytes.  (407) 276-6263
  1278.  
  1279.          Kentucky
  1280.  
  1281.               Lexington:  Ronald Nutter,  Bluegrass RBBS.  (606) 272-0499 (Fill
  1282.               out SysOp questionnaire)
  1283.  
  1284.          Illinois
  1285.  
  1286.               LaGrange:  Loren Jones, RBBS-PC of Chicago.  (704) 352-1035
  1287.  
  1288.          Indiana
  1289.  
  1290.               Bloomington:  John Taylor, Indiana On-Line. (812) 332-RBBS
  1291.  
  1292.          Maryland
  1293.  
  1294.               Rockville:   Roger  Fajman, CPCUG  Member's Information  Exchange
  1295.               (Capital PC  Users Group).   (301) 738-9060, 9 lines  (Join SysOp
  1296.               conference)
  1297.  
  1298.          Pennsylvania
  1299.  
  1300.               Sharon Hill (Philadelphia):  Mark Horninger, Electric Playground.
  1301.               (215) 534-1466
  1302.  
  1303.          Virgina
  1304.  
  1305.               Arlington:  Lee Pollard, Death Star.  (301) 839-0705
  1306.  
  1307.     RBBS-PC CPC17.3                                                 Page 27
  1308.  
  1309.               Fairfax:  Ken Goosens, Your Place.  (703) 978-6360, 3 lines
  1310.  
  1311.     o  Help by Topic
  1312.  
  1313.     Ken  Goosens maintains  an interactive,  on-line  data base  of people  who
  1314.     volunteer to help with RBBS on particular topics.  Again, though, not every
  1315.     volunteer will always be available.  The list includes:
  1316.  
  1317.       Topic           Data Number    Last Name    First Name
  1318.     Auto Maintanence 606-272-0499    NUTTER          RONALD      
  1319.     BASIC            416-783-7094    CASSIDY         JOE         
  1320.     Batch Files      407-627-6969    AZZARITO        DOUG        
  1321.     CD-ROM           606-272-0499    NUTTER          RONALD      
  1322.     Communication    301-839-0705    POLLARD         LEE         
  1323.     Compiling        703-978-6360    GOOSENS         KEN         
  1324.     Conferences      417-862-9824    MIDDLETON       WILLIAM     
  1325.     Conferences      407-627-6969    AZZARITO        DOUG        
  1326.     Conferences      612-721-1177    LASLEY          JOHN        
  1327.     Conferences      703-255-1275    DORER           FRANCIS     
  1328.     Configuration    606-272-0499    NUTTER          RONALD      
  1329.     Configuration    606-789-3423    BALDRIDGE       CHARLES     
  1330.     Desktop Publish  313-995-2100    MOORE           CORWIN      
  1331.     Desqview         202-265-4496    MONDALE         ALEX        
  1332.     Desqview         606-272-0499    NUTTER          RONALD      
  1333.     Desqview         703-256-4777    KORCEL          BLAINE      
  1334.     Desqview         703-756-6109    CROCKFORD       MARIANNE    
  1335.     Desqview         912-432-2440    MULDROW         WARREN      
  1336.     Doors            201-580-0486    CONGER          EZRA        
  1337.     Doors            214-790-0754    COLLINS         DARWIN      
  1338.     Doors            416-783-7094    CASSIDY         JOE         
  1339.     Doors            503-664-3756    ANSTINE         MITCHELL    
  1340.     Doors            606-789-3423    BALDRIDGE       CHARLES     
  1341.     Doors            612-721-1177    LASLEY          JOHN        
  1342.     DOUBLEDOS        703-978-6360    BAZERGHI        ERIC        
  1343.     FMS              201-580-0486    CONGER          EZRA        
  1344.     FMS              301-384-9302    MCGOLDRICK      LARRY       
  1345.     FMS              407-627-6969    AZZARITO        DOUG        
  1346.     FMS              416-783-7094    CASSIDY         JOE         
  1347.     FMS              606-272-0499    NUTTER          RONALD      
  1348.     FMS              606-789-3423    BALDRIDGE       CHARLES     
  1349.     FMS              703-255-1275    DORER           FRANCIS     
  1350.     FMS              703-978-6360    GOOSENS         KEN         
  1351.     FMS              912-432-2440    MULDROW         WARREN      
  1352.     File Maint.      612-721-1177    LASLEY          JOHN        
  1353.     File Maint.      703-978-6360    BAZERGHI        ERIC        
  1354.     File maint.      703-256-4777    KORCEL          BLAINE      
  1355.     HST              912-432-2440    MULDROW         WARREN      
  1356.     Hardware         606-272-0499    NUTTER          RONALD      
  1357.     LANTASTIC        606-272-0499    NUTTER          RONALD      
  1358.     Macros           416-783-7094    CASSIDY         JOE         
  1359.     Macros           503-664-3756    ANSTINE         MITCHELL    
  1360.     Macros           703-978-6360    GOOSENS         KEN         
  1361.     Marcos           202-265-4496    MONDALE         ALEX        
  1362.     Modems           703-978-6360    GOOSENS         KEN         
  1363.     Network          301-839-0705    POLLARD         LEE         
  1364.  
  1365.     RBBS-PC CPC17.3                                                 Page 28
  1366.  
  1367.     Novell Netware   503-664-3756    ANSTINE         MITCHELL    
  1368.     Novell Netware   703-256-4777    KORCEL          BLAINE      
  1369.     PC-Slaves        407-627-6969    AZZARITO        DOUG        
  1370.     PC-Slaves        703-756-6109    CROCKFORD       MARIANNE    
  1371.     PC-Slaves        703-978-6360    GOOSENS         KEN         
  1372.     PUI              416-783-7094    CASSIDY         JOE         
  1373.     PUI              912-432-2440    MULDROW         WARREN      
  1374.     Pers downloads   703-255-1275    DORER           FRANCIS     
  1375.     Personal Radio   313-995-2100    MOORE           CORWIN      
  1376.     Personal dwld    606-789-3423    BALDRIDGE       CHARLES     
  1377.     Programming      703-978-6360    BAZERGHI        ERIC        
  1378.     Protocols        201-580-0486    CONGER          EZRA        
  1379.     Protocols        301-839-0705    POLLARD         LEE         
  1380.     Protocols        703-978-6360    BAZERGHI        ERIC        
  1381.     Protocols        703-978-6360    GOOSENS         KEN         
  1382.     Protocols        912-432-2440    MULDROW         WARREN      
  1383.     Questionnaires   703-978-6360    GOOSENS         KEN         
  1384.     Quick Basic      618-465-0808    SLAUGHTER       CARL        
  1385.     Setup            301-384-9302    MCGOLDRICK      LARRY       
  1386.     Setup            301-870-5963    ISAAC           MICHAEL     
  1387.     Setup            417-862-9824    MIDDLETON       WILLIAM     
  1388.     Setup            703-255-1275    DORER           FRANCIS     
  1389.     Setup            703-756-6109    CROCKFORD       MARIANNE    
  1390.     Smart Text       407-627-6969    AZZARITO        DOUG        
  1391.     Startup          301-797-7133    SHERMAN         WOODY       
  1392.     Sub-board        606-272-0499    NUTTER          RONALD      
  1393.     SubBoards        612-721-1177    LASLEY          JOHN        
  1394.     Subboard         417-862-9824    MIDDLETON       WILLIAM     
  1395.     Submenus         703-978-6360    GOOSENS         KEN         
  1396.     Time Lock        407-627-6969    AZZARITO        DOUG        
  1397.     Uploads          703-978-6360    BAZERGHI        ERIC        
  1398.     User Interface   313-995-2100    MOORE           CORWIN      
  1399.     Utilities        214-790-0754    COLLINS         DARWIN      
  1400.  
  1401.     Most Bulletin Board Software is dedicated to making money for  its authors.
  1402.     No matter  how much the authors love  the work, it endures only  so long as
  1403.     the hope of income continues.
  1404.  
  1405.     RBBS  is given away for free, and depends  not on the flow of money, but on
  1406.     the continuing  dedication and generosity  of people who volunteer  to help
  1407.     support and enhance it as a  public service, and share their labor of  love
  1408.     with others for the benefit of all.
  1409.  
  1410.     The commitment of the coordinating authors of RBBS is to:
  1411.  
  1412.          o    fix any problems, on a priority basis
  1413.  
  1414.          o    steadily refine and enhance RBBS to better serve the needs of its
  1415.               users
  1416.  
  1417.          o    help support and coordinate contributions, testing, and releases
  1418.  
  1419.     RBBS should  be bug free, period.   If there  are any problems with  it, we
  1420.     want to know.   We want  people to use  RBBS, not because  it is free,  but
  1421.     because it is the best bulletin board available.
  1422.  
  1423.     RBBS-PC CPC17.3                                                 Page 29
  1424.  
  1425.     3.2 RBBS-PC's Vendor Support Policy
  1426.     -----------------------------------
  1427.     While  a  great deal  of care  was  taken to  make  RBBS-PC as  flexible as
  1428.     possible, supporting a  wide range of computers and modems, the program was
  1429.     designed  with  the  IBM  PC  (or  compatible)  and  Hayes  Smartmodem  (or
  1430.     compatible)  in  mind.    Many  of RBBS-PC's  default  values  assume  this
  1431.     combination, and it is certainly  this combination which requires the least
  1432.     effort to bring online.
  1433.  
  1434.     The  purposes  of  RBBS-PC  are  outlined  in  section  0  of  the  RBBS-PC
  1435.     documentation.   Those who contribute to RBBS-PC do  so without any hope of
  1436.     monetary reward.  In  fact, great lengths are taken to  assure that neither
  1437.     those involved with the development  of RBBS-PC, nor anyone who distributes
  1438.     RBBS-PC, does so for personal gain or to promote a specific  product at the
  1439.     expense of other products.
  1440.  
  1441.     If the hardware  you are using is not part of  the "base-line" hardware and
  1442.     RBBS-PC doesn't  work, your only  recourse is to  either modify  RBBS-PC to
  1443.     meet  your particular needs (that's why the source code is distributed), or
  1444.     contact  your vendor  and ask  him  to either  fix his  hardware  or modify
  1445.     RBBS-PC (via .MRG/.DOC files) to support his hardware.
  1446.  
  1447.     Since 1984, RBBS-PC  has become something of  an "industry standard."    As
  1448.     such,  several  manufacturers   have  requested  that  support   for  their
  1449.     particular  hardware  and/or software be incorporated into  RBBS-PC.  These
  1450.     vendors have had three choices:
  1451.  
  1452.     1.   Obtain a copy of the BASIC source code by sending $8 to the Capital PC
  1453.     User  Group's Software  Exchange.   The  source code  allows the  vendor to
  1454.     determine what is required  to be "RBBS-PC  compatible."  Who better  knows
  1455.     the quirks of the manufacturer's  product than the manufacturer?  RBBS-PC's
  1456.     limited license specifically permits the distribution of  ".MRG" files that
  1457.     would  allow RBBS-PC  to  run  with whatever  idiomatic  quirks a  specific
  1458.     vendor's product exhibited.  The  advantage to the manufacturer is that  he
  1459.     is in complete control and need not make the .MRG "universal" (i.e. it need
  1460.     only  support his  product).   The  disadvantage  is that  new  releases of
  1461.     RBBS-PC  come out every  six to eight  months and the vendor  would have to
  1462.     review each release to  make sure the new releases and his  .MRG files were
  1463.     compatible.    Of  course,  as  with any  other  RBBS-PC  operator,  casual
  1464.     telephone support is available to these vendors.
  1465.  
  1466.     2.   Supply the necessary equipment or software on  a loan or gift basis to
  1467.     be used in the  testing of future releases of  RBBS-PC.  This approach  has
  1468.     been actively DISCOURAGED for three fundamental reasons.
  1469.  
  1470.          1.   The vendor  perceives he has  "paid" for on-going support  by the
  1471.               loan or donation  of the product.   This is not the  case because
  1472.               RBBS-PC's development is  an all-volunteer activity.  As such, it
  1473.               is possible that  none of those involved with  the development of
  1474.               RBBS-PC may  have  the time  or  expertise sufficient  to  assure
  1475.               compatibility  of  the  specific  vendor's  product  with  future
  1476.               releases of RBBS-PC.   About all that can be done  is to give the
  1477.               vendor our "best effort" to assure compatibility, and advise when
  1478.               it can not be made compatible.
  1479.  
  1480.     RBBS-PC CPC17.3                                                 Page 30
  1481.  
  1482.          2.   The particular product may not have a universal  applicability to
  1483.               RBBS-PC  users  and/or  may  not  be of  interest  to  those  who
  1484.               regularly  contribute to  the development  of RBBS-PC.    Both of
  1485.               these  conditions  must  exist  before  any vendor's  product  is
  1486.               incorporated into the RBBS-PC development cycle.
  1487.  
  1488.          3.   The price of  the loaned or donated products (usually 3 to 5 such
  1489.               products) in no way can even begin to compensate for the hundreds
  1490.               (if not thousands) of development hours required to support other
  1491.               than "base-line" hardware.
  1492.  
  1493.     3.  Establish  an on-going institutional commitment to  maintain a dialogue
  1494.     between the  vendor's engineering  group and  the RBBS-PC  development team
  1495.     along with supplying the necessary equipment or software on a loan  or gift
  1496.     basis  to be  used in  the testing  of future  releases  of RBBS-PC.   This
  1497.     approach has been actively  ENCOURAGED for three different and  fundamental
  1498.     reasons.
  1499.  
  1500.          1.   The vendor overtly  makes an institutional commitment  to jointly
  1501.               participate in  the development of  RBBS-PC.  The vendor  has the
  1502.               opportunity to supplement the all-volunteer  activity that is the
  1503.               basis for RBBS-PC development by  choosing to either modify their
  1504.               current or  future products to  be compatible with RBBS-PC  or to
  1505.               supply software that  ensures compatibility  with RBBS-PC.   This
  1506.               benefits all RBBS-PC users.
  1507.  
  1508.          2.   The particular products that fall into this category are required
  1509.               to  have  a  universal  applicability   to  RBBS-PC  users  (i.e.
  1510.               multi-tasking  DOS, networking, 2400  or greater baud capability,
  1511.               error-free  protocols,  etc.).   Also,  a regular  contributor to
  1512.               RBBS-PC's development must be geographically located close to the
  1513.               vendor's  development  engineers  to assure  a  timely  dialogue.
  1514.               Further, any  regular contributor  to  RBBS-PC's development  who
  1515.               accepts the  responsibility for assuring  RBBS-PC's compatibility
  1516.               with  a particular  vendor's product  must  be willing  to do  so
  1517.               solely on a volunteer  basis over an extended period  of time and
  1518.               in such a  way as not to  exclude other vendor's products.   Only
  1519.               when all  these  conditions  exist  is  any  vendor's  product  a
  1520.               candidate to be incorporated into  the RBBS-PC development cycle.
  1521.               This  assures that  the RBBS-PC  user community  has a  feed-back
  1522.               mechanism to the  vendor's product  development and design  teams
  1523.               and the vendor is assured of a matching long-term commitment from
  1524.               the RBBS-PC development team.
  1525.  
  1526.          3.   The vendor  recognizes that  the price of  the loaned  or donated
  1527.               products (usually  3 to 5  such products)  is minuscule  compared
  1528.               with the  hundreds (if  not thousands) of  man-hours that  may be
  1529.               required  from both the RBBS-PC  development team as well as  the
  1530.               vendor's engineers.   This  assures that  the vendors  who choose
  1531.               this third approach are  committed to the PC user community.   It
  1532.               is  precisely  this type  of  commitment that  RBBS-PC's USERWARE
  1533.               concept is designed to encourage (from both users and vendors)
  1534.  
  1535.     Vendors who have  chosen to make this  third type of commitment  to RBBS-PC
  1536.     and the PC user community deserve the respect and encouragement of every PC
  1537.  
  1538.     RBBS-PC CPC17.3                                                 Page 31
  1539.  
  1540.     user and are (alphabetically):
  1541.  
  1542.          Ark Electronic Products, Inc.
  1543.          325 W. Hibiscus Blvd.
  1544.          Melbourne, Florida  32901
  1545.          (407) 724-5260
  1546.  
  1547.          Corvus Systems, Inc.
  1548.          2100 Corvus Drive
  1549.          San Jose, California 95124
  1550.          (408) 559-7000
  1551.  
  1552.          The Forbin Project (c/o John Friel III)
  1553.          4945 Colfax Avenue South
  1554.          Minneapolis, MN 55409
  1555.  
  1556.          Hayes Microcomputer Products, Inc.
  1557.          5923 Peachtree Industrial Blvd.
  1558.          Norcross, Georgia  30092
  1559.          (404) 449-8791
  1560.  
  1561.          International Business Machines Corporation
  1562.          (Internal Zip Code 2900)
  1563.          P.O. Box 1328
  1564.          Boca Raton, Florida  33432
  1565.          (305) 998-2000
  1566.  
  1567.          Microcom, Inc.
  1568.          1400A Providence Highway
  1569.          Norwood, MA  02062
  1570.          (617) 762-9310
  1571.  
  1572.          Multi-Tech Systems, Inc.
  1573.          82 Second Avenue, S.E.
  1574.          New Brighton, Minnesota  55112
  1575.          (612) 631-3550
  1576.  
  1577.          Orchid Technology
  1578.          4790 Westinghouse Drive
  1579.          Fremont, CA 94539
  1580.          (415) 490-8586
  1581.  
  1582.          PC-SIG
  1583.          1030 E. Duane Ave Suite D
  1584.          Sunnyvale, CA 94086
  1585.          (408) 730-9291
  1586.  
  1587.          Prometheus Products Incorporated
  1588.          4545 Cushing Parkway
  1589.          Fremont, CA  94538
  1590.          (415) 490-2370
  1591.  
  1592.          Quarterdeck Office Systems
  1593.          150 Pico Blvd.
  1594.          Santa Monica, CA 90405
  1595.  
  1596.     RBBS-PC CPC17.3                                                 Page 32
  1597.  
  1598.          (213) 392-9701
  1599.  
  1600.          Racal-Vadic
  1601.          1525 McCarthy Blvd.
  1602.          Milpitas, California 95035
  1603.          (408) 774-0810
  1604.  
  1605.          The Software Link, Inc.
  1606.          8601 Dunwoody Place
  1607.          Suite 336
  1608.          Atlanta, GA  30338
  1609.          (404) 998-0700
  1610.  
  1611.          System Enhancement Associates
  1612.          21 New Street
  1613.          Wayne, NJ 07470
  1614.          (201) 473-5153
  1615.  
  1616.  
  1617.          U.S. Robotics, Inc.
  1618.          Skokie, Illinois 60076
  1619.          (312) 982-5010
  1620.  
  1621.     Users who  feel that they have benefited  or who appreciate such commitment
  1622.     to  the user community should write or call the above vendors and tell them
  1623.     so,  especially if  such  a  commitment influenced  the  purchase of  their
  1624.     products.  Similarly,  if any user  feels that other  vendor should make  a
  1625.     similar commitment to RBBS-PC and the user  community, write to that vendor
  1626.     and send a copy of your letter to the following address:
  1627.  
  1628.          Ken Goosens
  1629.          5020 Portsmouth Road
  1630.          Fairfax, VA 22032
  1631.  
  1632.     Section 21 describes  the RBBS-PC standard interface  for protocol drivers.
  1633.     All vendors of proprietary  protocols who would like to have  them added to
  1634.     future releases of RBBS-PC need do is simply conform to this interface.
  1635.  
  1636.     RBBS-PC CPC17.3                                                 Page 33
  1637.  
  1638.     4. HOW TO GET A COPY OF RBBS-PC SENT TO YOU
  1639.     -------------------------------------------
  1640.     RBBS-PC can be obtained by sending a check for $8 to the:
  1641.  
  1642.          Capital PC Software Exchange
  1643.          P.O. Box 6128
  1644.          Silver Spring MD 20906.
  1645.  
  1646.     RBBS-PC  is  distributed  on 360K  diskettes,  unless  otherwise requested.
  1647.     Allow  3  to  4 weeks  for  delivery  (remember, this  is  an all-volunteer
  1648.     effort).   Be  sure to  specify RBBS-PC  CPC17-3.   If you  would like  the
  1649.     RBBS-PC source code and some utilities that other SysOps have found useful,
  1650.     send a second $8 with your order (a total of $16).
  1651.  
  1652.     Version CPC17-3  of RBBS-PC's  .EXE file is  distributed after  having been
  1653.     compiled with  a QuickBASIC  Version 3.00  compiler which  has had  the DTR
  1654.     patch described in Appendix T applied to it.
  1655.  
  1656.     The exigencies of  RBBS-PC software releases may mean that the disk you get
  1657.     contains an  earlier version of RBBS-PC than CPC17-3 (either you bought the
  1658.     diskette  sometime ago  or there  has been  not enough  time for  it to  be
  1659.     updated to this most current version).  Not to fear!   Your $8 has not been
  1660.     wasted.  The  support boards listed in  section 3.1 should make  the latest
  1661.     version available for downloading.
  1662.  
  1663.     You can also pre-order the next release of RBBS-PC, to be air mailed to you
  1664.     immediately upon release, for $25.  See Appendix J for details.
  1665.  
  1666.     RBBS-PC CPC17.3                                                 Page 34
  1667.  
  1668.     5. FILES RBBS-PC USES
  1669.     ---------------------
  1670.     There are essentially two types of files  that RBBS-PC uses -- "system" and
  1671.     "text"  files.   "System" files  are defined  as random files  that RBBS-PC
  1672.     reads  and writes  to.   "Text"  files are  defined as  files  that RBBS-PC
  1673.     primarily reads from.  Text files can  be edited externally to RBBS-PC with
  1674.     almost any  text editor.  Either type of file can be "static" or "variable"
  1675.     in length.   By "static"  it is meant that  these files have  a pre-defined
  1676.     length beyond  which RBBS-PC does  not extend them.   Similarly, "variable"
  1677.     length  files  are defined  as  those  files  whose length  is  dynamically
  1678.     increased by  RBBS-PC.   (In some RBBS-PC  environments, only  the "static"
  1679.     length  files can be  shared SAFELY among  multiple nodes.)   The following
  1680.     table summarizes these files, using the default file names:
  1681.  
  1682.             "Static" Length Files       "Variable" Length Files
  1683.  
  1684.       -----
  1685.        /|\    MESSAGES                   CALLERS             ARCWORKx.DEF
  1686.         |     USERS                      COMMENTS            NODExWRK
  1687.       System  MESSAGES.BAK               DOUTx.DEF           RBBSxF1.DEF
  1688.       Files   USERS.BAK                  DKxxxx.ARC          DORINFOx.DEF
  1689.         |     RBBSxPC.DEF                DRSTx.DEF
  1690.        \|/                               99.DIR (upload directory)
  1691.       -----
  1692.  
  1693.     The following "text files" are "static" in length and can be shared safely:
  1694.  
  1695.       -----   NEWUSER                           RBBS-CDR.DEF
  1696.        /|\    MENU0 --> MENUA                   LGx.DEF
  1697.         |     BULLET, BULLET1 --> BULLETn       AUTOPAGE.DEF
  1698.         |     DIR.DIR, aa.DIR --> bb.DIR        CONFMAIL.DEF
  1699.         |     CDR.CDR, aa.CDR --> bb.CDR        RBBS-CDR.DEF
  1700.       Text    FILESEC                           PROTO.DEF
  1701.       Files   CONFENCE                          RBBS-REG.DEF
  1702.         |     xxxx.PUI                          PRELOG.DEF
  1703.         |     PASSWRDS                          EPILOG.DEF
  1704.         |     xx.HLP                            PRIV.DEF
  1705.         |     HELPxx                            AUTOPAGE.DEF
  1706.        \|/    TRASHCAN                          RBBSxTM.DEF
  1707.       -----   WELCOME                           MAIN.NWS
  1708.  
  1709.     In a  CORVUS OmniNet network environment  any of the  "static" length files
  1710.     can be  shared on a  common volume and  ALL of the  "variable" length files
  1711.     must be  segregated on  volumes unique to  each copy  of RBBS-PC.   RBBS-PC
  1712.     issues the NAME function of BASIC in  order to determine if a file  exists.
  1713.     Because of  this,  all the  volumes accessed  by any  RBBS-PC  in a  CORVUS
  1714.     network  must  be designated  "read/write."  Therefore,  you  must be  very
  1715.     careful   when  running  CONFIG.     CONFIG  creates  the  definition  file
  1716.     (RBBSxPC.DEF) for each copy of RBBS-PC.
  1717.  
  1718.     The  one  file  that  cannot be  shared  is  the  Caller's  file.   RBBS-PC
  1719.     continually logs to it and the  activity of multiple users would get  mixed
  1720.     together.
  1721.  
  1722.     RBBS-PC CPC17.3                                                 Page 35
  1723.  
  1724.     5.1  RBBS-PC System Files
  1725.     -------------------------
  1726.     As shown above, "system" files are both static and variable in length.  The
  1727.     system files used by RBBS-PC are:
  1728.  
  1729.     MESSAGES
  1730.  
  1731.     This file is a  random file that contains the message  text for the RBBS-PC
  1732.     system, and several  special records  (e.g. checkpoint  and node  records).
  1733.     The first record in the file contains the RBBS-PC "checkpoint" record.  The
  1734.     records  immediately following  this first  record  are the  RBBS-PC "node"
  1735.     records.   From there,  the rest  of the  file consists  of message  header
  1736.     records  which are  followed  by  the  actual message  text.    Appendix  A
  1737.     describes  these records,  the fields  within them, and  how each  field is
  1738.     used.   RBBS-PC expects the MESSAGES file to exist, and to be in the proper
  1739.     format (CONFIG should  be used  to create this  file).  When  it loads,  if
  1740.     CONFIG  does not find  the MESSAGES file,  or it finds  one in pre-CPC12-3A
  1741.     format, CONFIG  will create it and initialize it  to the size the SysOp has
  1742.     specified.  Because  of the special fixed  length records in this  file, it
  1743.     should not be created or edited outside CwFIG.
  1744.  
  1745.     When the SysOp  "packs" the message file using CONFIG,  the current message
  1746.     file is preserved as MESSAGES.BAK, in case the "pack" is unsuccessful (i.e.
  1747.     not  enough space to  duplicate the  message file).   If the disk  fills up
  1748.     during  the pack  function,  RBBS-PC  can recover  the  message file  using
  1749.     MESSAGES.BAK.  When  the message file is successfully  packed, the original
  1750.     MESSAGES  file  is  renamed  MESSAGES.OLD,   and  MESSAGES.BAK  is  renamed
  1751.     MESSAGES.   CONFIG  will ask whether  you want  to delete the  old MESSAGES
  1752.     file.   (Note that, in  a multiple  RBBS-PC environment,  the message  file
  1753.     should only be "packed" when none of the nodes are running.)  The  MESSAGES
  1754.     file can be shared among multiple RBBS-PCs.
  1755.  
  1756.     USERS
  1757.  
  1758.     The USERS file is  a random access file that has a record  for each user of
  1759.     the system.   The record contains  a profile for  each user who  has logged
  1760.     onto RBBS-PC.   Appendix A describes the  format of the records  within the
  1761.     USERS file.   These records are 128  bytes in length and  are automatically
  1762.     maintained by RBBS-PC.   The SysOp can do some limited  editing using SysOp
  1763.     Function 5.   RBBS-PC  expects the USERS  file to exist,  and to be  in the
  1764.     proper format  (as the with MESSAGES file, CONFIG  should be used to create
  1765.     this  file).  If CONFIG does not find  the USERS file on the system when it
  1766.     loads,  it will create  it to the size  specified by the  SysOp.  The USERS
  1767.     file should  not be created or edited outside CONFIG (with the exception of
  1768.     certain  utilities  specifically  designed  for  this   task  --  under  NO
  1769.     circumstances use a text editor to edit the USERS file).
  1770.  
  1771.     When the SysOp "packs"  the user file using CONFIG, the  current USERS file
  1772.     is preserved  as USERS.BAK, in  case the  "pack" is unsuccessful  (i.e. not
  1773.     enough space to duplicate the users file).  If the disk fills up during the
  1774.     pack function RBBS-PC will recover the USERS file from USERS.BAK.  When the
  1775.     users  file is  successfully packed,  the  original users  file is  renamed
  1776.     USERS.OLD and the temporary file  USERS.BAK is renamed USERS.   CONFIG will
  1777.     ask whether you want to  delete the old UwRS file or not.   (Note that in a
  1778.     multiple RBBS-PC  enviroment, the USERS  file should only be  "packed" when
  1779.  
  1780.     RBBS-PC CPC17.3                                                 Page 36
  1781.  
  1782.     none of  the nodes  are  running.)   The USERS  file  can be  shared  among
  1783.     multiple RBBS-PC's.
  1784.  
  1785.     CALLERS
  1786.  
  1787.     This  file is  a  random file  that contains  a  log of  all  your caller's
  1788.     activities as  they use  the system.   This  is an  ASCII file,  but it  is
  1789.     formatted as 64 byte fixed length records with no carriage returns  or line
  1790.     feeds between the  records.  If you  set the "extended logging"  feature of
  1791.     RBBS-PC to  be on, then  a more detailed  record of each  caller's activity
  1792.     will  be  kept.   There  are  many  "statistic" and  "bulletin"  generating
  1793.     utilities  which have been written  to work with the CALLERS  file.  If the
  1794.     CALLERS file  is not  found, RBBS-PC  will create  a new  one (no  need for
  1795.     CONFIG here).  To clear the log, ERASE the file.  The CALLERS file can't be
  1796.     shared among multiple nodes, because  activity from the various nodes would
  1797.     be mingled together  in the file, making it impossible to determine who did
  1798.     what, and when.
  1799.  
  1800.     COMMENTS
  1801.  
  1802.     This file is  a sequential file that  contains any comments that  have been
  1803.     left by  users for the SysOp.  The file can be scanned by a SysOp function,
  1804.     or it can be TYPEd or edited  outside the RBBS-PC system.  A SysOp function
  1805.     is available to delete this file.   The file will be created by RBBS-PC  if
  1806.     it  is not  found.   The  COMMENTS  file cannot  be  shared among  multiple
  1807.     RBBS-PC's using CORVUS' "OMNINET", but can be shared using other multi-user
  1808.     systems.
  1809.  
  1810.     Please note  that if you  have activated the  CONFIG parameter  which tells
  1811.     RBBS-PC to store Comments  to the SysOp as privates messages  to the SysOp,
  1812.     then this file will not be used.
  1813.  
  1814.     99.DIR
  1815.  
  1816.     The is  the default filename for the file RBBS-PC  builds to hold the name,
  1817.     file size, date,  and description appended  to it of  files that have  been
  1818.     uploaded.  The  99.DIR file cannot be shared among multiple RBBS-PC's using
  1819.     CORVUS's "OMNINET", but can be shared on other multi-user systems.
  1820.  
  1821.     RBBS-PC.DEF
  1822.  
  1823.     This is an ASCII  text file created  as output by the  CONFIG program.   It
  1824.     contains the  configuration parameters for  RBBS-PC.  Each time  RBBS-PC is
  1825.     run, it  reads from  this file.   In  a multiple  RBBS-PC environment,  the
  1826.     definition file  for  each RBBS-PC  is named  RBBSxPC.DEF (where  "x" is  a
  1827.     number  1 to  9, 0 meaning  the tenth  node, and A  through Z  for the 11th
  1828.     through  the 36th node).   In a  single user RBBS-PC  environment, the name
  1829.     will be RBBS-PC.DEF.
  1830.  
  1831.     While this file CAN be edited with text editor, and many  experienced RBBS-
  1832.     PC SysOps do this, you might have difficulty determining which parameter is
  1833.     which and how the various parameters  work together.  Unless you are  QUITE
  1834.     SURE of what you are doing, we recommend that you use CONFIG to alter  your
  1835.     RBBS-PC.DEF files.
  1836.  
  1837.     RBBS-PC CPC17.3                                                 Page 37
  1838.  
  1839.     LOCKED FILE STATUS DISPLAY
  1840.  
  1841.     RBwBS-PC displays  the status  of those  files which  must be  locked in  a
  1842.     network environment  on line 25.   The lock  status of the  message file is
  1843.     displayed in  positions 68  & 69.   The  lock status  of the  user file  is
  1844.     displayed in  positions 71 &  72.   The lock block  status is displayed  in
  1845.     positions 74 & 75 and comments/uploads share positions 77 & 78.  The letter
  1846.     "U" in the first position shows that the file is currently "UNLOCKED".  The
  1847.     letter "L" in the first position indicates that the file is "LOCKED".
  1848.  
  1849.     ARCWORKx.DEF
  1850.  
  1851.     This file is  created as output by  the file view command  and contains the
  1852.     contents of the archived file being inquired against.
  1853.  
  1854.     QMXFER.ERR
  1855.  
  1856.     This file  is created  as output  by QMXFER.COM  to notify  RBBS-PC of  the
  1857.     results of an external file protocol transfer.
  1858.  
  1859.     DKxxxx.ARC
  1860.  
  1861.     This file is created as  output by the Library Sub-System archive  program.
  1862.     This work file is deleted each time RBBS-PC recycles.
  1863.  
  1864.     DORINFOx.DEF
  1865.  
  1866.     This file is created by RBBS-PC when a caller exits to a DOOR.  It contains
  1867.     information about the caller needed by a "DOOR".   It consists of an twelve
  1868.     record file that contains  the  following information:
  1869.  
  1870.          1.   The name of the RBBS-PC system
  1871.  
  1872.          2.   The SysOp's first name
  1873.  
  1874.          3.   The SysOp's last name
  1875.  
  1876.          4.   The communications port being used
  1877.  
  1878.          5.   The baud rate and parity with which the caller logged on, and the
  1879.               baud rate at which RBBS-PC is connected to the modem
  1880.  
  1881.          6.   The network type (if any) RBBS-PC is running in
  1882.  
  1883.          7.   The caller's first name
  1884.  
  1885.          8.   The caller's last name
  1886.  
  1887.          9.   The city and state the caller is from
  1888.  
  1889.          10.  The caller's graphics preferences
  1890.  
  1891.          11.  The caller's security level
  1892.  
  1893.          12.  The caller's time remaining in the current session
  1894.  
  1895.     RBBS-PC CPC17.3                                                 Page 38
  1896.  
  1897.     NODExWRK
  1898.  
  1899.     This file is created by RBBS-PC when a caller exits to an external protocol
  1900.     to do "batch" downloads.  It contains a list of fully qualified file  names
  1901.     to be downloaded.
  1902.  
  1903.     DOUTx.DEF
  1904.  
  1905.     Used by doors to communicate back to RBBS-PC.
  1906.  
  1907.     DRSTx.DEF
  1908.  
  1909.     Internal file used by RBBS-PC to restore itself upon return from doors.
  1910.  
  1911.     RBBS-PC CPC17.3                                                 Page 39
  1912.  
  1913.     5.2  RBBS-PC Text Files
  1914.     -----------------------
  1915.     Similarly, the RBBS-PC "text" files are both static and variable in length.
  1916.     The "text" files used by RBBS-PC are:
  1917.  
  1918.     BULLET
  1919.  
  1920.     This is  a text menu file that is printed following the WELCOME file when a
  1921.     user first enters the system.  It must be present if CONFIG parameter 43 is
  1922.     greater  than 1.    It can  also  be called  from  the main  menu with  the
  1923.     B)ulletins command.
  1924.  
  1925.     BULLET1 --> BULLET99
  1926.  
  1927.     There can be  1 to 99 numbered  "bulletins", and virtually  unlimited named
  1928.     bulletins.   RBBS-PC will  check for  the existence  of a  file whose  name
  1929.     consists of the  prefix given by parameter  44 of CONFIG appended  with the
  1930.     bulletin number and using parameter 41 of  CONFIG to determine the drive to
  1931.     find the bulletin on.
  1932.  
  1933.     RBBS-PC can display different text files based on a user's current graphics
  1934.     option  (which can  be changed  with the  Graphics command  on the  Utility
  1935.     menu).   This will  affect such  standard RBBS-PC  system files  as HELPxx,
  1936.     BULLET, MENU's,  etc.   In order  for a  user to  see either  of these  two
  1937.     different  types  of  "graphics"  files,  the  following  items  must  have
  1938.     occurred:
  1939.  
  1940.          1.   The caller must  have logged on with 8 bit word, no parity, and 1
  1941.               stop bit.
  1942.  
  1943.          2.   The  caller  must  have  selected  graphics  (either  "ASCII"  or
  1944.               "Color-IBM"), and the  file must exist with a  filename ending in
  1945.               either:
  1946.  
  1947.               "G"  For  files  containing the  IBM  PC "character  graphic" set
  1948.                    (sometimes  called  the  "line  drawing characters"),  ASCII
  1949.                    characters whose values are in the range 128 to 256.
  1950.  
  1951.               "C"  Includes the above,  and adds  commands compatible with  the
  1952.                    ANSI  specification for controlling screen colors and cursor
  1953.                    positioning.    (Note  that the  caller's  software  MUST be
  1954.                    capable of displaying color based on ANSI commands for  this
  1955.                    to work.)
  1956.  
  1957.     RBBS-PC will check to see if a  "graphics" files exists by appending a  "G"
  1958.     or "C" to the file name (e.g. WELCOMEC instead of WELCOME).  If such a file
  1959.     can't  be found, RBBS-PC  will check to  see if a  non-graphics file exists
  1960.     (i.e. one without the "G" or "C").   RBBS-PC will display the first file it
  1961.     finds.
  1962.  
  1963.     DIR.DIR, aa.DIR --> nn.DIR
  1964.  
  1965.     The DIR.DIR file, which can be renamed using the CONFIG utility,  is simply
  1966.     an ASCII text file which contains  a listing of all the categories in  your
  1967.     FMS.DIR (FMS = File Management System, more on  this later).  Each of these
  1968.  
  1969.     RBBS-PC CPC17.3                                                 Page 40
  1970.  
  1971.     categories  has to  be linked, via  a code,  to the entries  in the FMS.DIR
  1972.     file, and this is done via the DIR.CAT file.
  1973.  
  1974.     If you  are NOT  using FMS-style  directories, but  rather  want your  file
  1975.     catalogs to be normal ASCII  text files, then you need to create a separate
  1976.     file for each category listed in DIR.DIR.  Each listing  will take the form
  1977.     of xx.DIR, where "xx" is the category code from DIR.DIR.
  1978.  
  1979.  
  1980.     The  DIR.DIR file  is not  optional, since  whether you're  using FMS-style
  1981.     directories or not,  you still need to  present your list of  categories to
  1982.     the caller.    Using FMS-style  directories  allows  you to  keep  all  the
  1983.     downloadable files listed  in one big  file (or several smaller  ones), and
  1984.     use  category "codes" within  that file to  group them.   Without FMS, each
  1985.     category code has to be its own "directory".
  1986.  
  1987.     DIR.CDR, aa.CDR  -->  nn.CDR
  1988.  
  1989.     At least one DIR.CDR  file has to be present on one of the drives available
  1990.     for downloading  if  the Library  Sub-System  support has  been  activated.
  1991.     Alternative directories, aa.CDR --> nn.CDR, should be meaningful and should
  1992.     be reflected in the DIR.CDR file.
  1993.  
  1994.     FILESEC
  1995.  
  1996.     This file controls which security levels can download from which paths, and
  1997.     it is more fully described in section 14.4 (RBBS-PC security).
  1998.  
  1999.     HELP
  2000.  
  2001.     There is a help file for each command which has  the format xy.HLP, where x
  2002.     is the  first letter of  the section (M,F,U)  and y is the  command letter,
  2003.     except for  global and sysop commands, which have the format y.HLP.   There
  2004.     are also the following special help files:
  2005.  
  2006.          MAIN.HLP       A text file that is printed when <H>elp is requested on
  2007.                         the  main   function  prompt.    It   contains  command
  2008.                         information.
  2009.  
  2010.          HELP03         A text  file  that  describes  the  message  protection
  2011.                         options when <?>  is entered after the  message <E>nter
  2012.                         command is executed at the main message menu.
  2013.  
  2014.          HELP04         A   text  file   that  describes   the  message   entry
  2015.                         subfunctions  when <?>  is  entered at  the subfunction
  2016.                         prompt.
  2017.  
  2018.          FILE.HLP       A text file  that is printed when <H>elp  is entered in
  2019.                         the files subsystem function prompt.
  2020.  
  2021.          UTIL.HLP       A  text file  printed when <H>elp  is requested  in the
  2022.                         utility subsystem function prompt.
  2023.  
  2024.          HELP09         A text file printed  when <H>elp is requested  for type
  2025.                         of graphics a user wants (none, ASCII, color/music).
  2026.  
  2027.     RBBS-PC CPC17.3                                                 Page 41
  2028.  
  2029.          LIBR.HLP       A  text file  that  is printed  when <H>elp  is entered
  2030.                         within the library subsystem.
  2031.  
  2032.          SMARTTXT.HLP   A  text  file  that  illustrates  the use  of  embedded
  2033.                         commands within any text file displayed by RBBS-PC that
  2034.                         causes the text  to appear personalized to  the caller.
  2035.                         See section 6.9 for a more complete description of this
  2036.                         feature.
  2037.  
  2038.          UPCAT.HLP      This is the file that  is used to help users categorize
  2039.                         their uploads.
  2040.  
  2041.          SECVIO.HLP     If this file is present, it is shown to the caller each
  2042.                         time a security violation occurs.
  2043.  
  2044.          MENU0 --> A    These contain  the local SysOp menu and menu of various
  2045.                         commands for the subsystems.
  2046.  
  2047.          NEWUSER        This is  a text  file that is  displayed for  new users
  2048.                         just  before registration occurs.
  2049.  
  2050.          PASSWRDS       This file  controls  which security  levels  get  which
  2051.                         privileges, and is more fully described in section 14.3
  2052.                         on security.
  2053.  
  2054.          PRELOG         A text  file displayed to  callers prior to  asking for
  2055.                         their first/last name and password.
  2056.  
  2057.          RBBS-CDR.DEF   A text file  that contains the disk numbers,  paths and
  2058.                         disk  titles   of  disks   available  to   the  Library
  2059.                         subsystem.   The  format of  the file  is described  in
  2060.                         section  11.6.    The RBBS-CDR.DEF  (and  matching  FMS
  2061.                         directory) file  can be  downloaded  from Jon  Martins'
  2062.                         system.   It is not distributed with RBBS-PC because of
  2063.                         it's size (500K).
  2064.  
  2065.          TRASHCAN       A text  file that contains  names that the  SysOp finds
  2066.                         objectionable  and does not want used as either a users
  2067.                         first  or last  name.   RBBS-PC uses  this file,  if it
  2068.                         exists, to  deny access  to anyone  using one  of these
  2069.                         names for either their first or last name.
  2070.  
  2071.          WELCOME        A text  file that a  user first sees upon  logging onto
  2072.                         the   system.  Similarly  each "conference" can  have a
  2073.                         "welcome" file by  having a  file whose last  character
  2074.                         ended in  a "w" (i.e.  conference "RBBS"  would have  a
  2075.                         message  file  named RBBSM.DEF  and  a user  file named
  2076.                         RBBSU.DEF  if  it where  a  "private" conference  and a
  2077.                         welcome file named RBBSW.DEF).
  2078.  
  2079.          CONFENCE       A text  file displayed  to  users who  issue the  J)oin
  2080.                         function from the main menu.  It can be created by  any
  2081.                         text editor  that can create  an ASCII file  and should
  2082.                         contain a list of the available conferences.
  2083.  
  2084.     RBBS-PC CPC17.3                                                 Page 42
  2085.  
  2086.          LGx.DEF        This is the file displayed, if present, to  users based
  2087.                         on security  level when  the caller logs  on.   The "x"
  2088.                         defines  the security level of  the users who would see
  2089.                         this  file.   For instance,  this allows  the SysOp  to
  2090.                         provide an explanation for callers whose security level
  2091.                         falls below the  minimum to log on,  or it can also  be
  2092.                         used to provide  a "personalized" welcome to  users who
  2093.                         have a specific security level.  Some examples are:
  2094.  
  2095.  
  2096.       Security
  2097.        Level      File name         Sample text for level greeting file
  2098.  
  2099.  
  2100.          9         LG9.DEF    "Hi, nice to have another SysOp call in."
  2101.          6         LG6.DEF    "Registered users are the most appreciated."
  2102.  
  2103.          4         LG4.DEF    "Too many security violations."
  2104.  
  2105.          -1       LG-1.DEF    "Your behavior has been inappropriate."
  2106.        -9999     LG-9999.DEF  Special "BBS verification" message for the U.S.
  2107.                               BBS listing (more on this later).
  2108.  
  2109.     RBBS-PC CPC17.3                                                 Page 43
  2110.  
  2111.     RBBSxF1.DEF
  2112.  
  2113.     This is the file dynamically created when the local SysOp exits to DOS.
  2114.  
  2115.     EPILOG.DEF
  2116.  
  2117.     This is  the default name for  the questionnaire that is shown  to users as
  2118.     they log off.  It can be either  an extensive "poll" (which  frequent users
  2119.     would find  tedious)  or a  simple  thank you.    Or, you  omit  this  file
  2120.     entirely.
  2121.  
  2122.     PRIV.DEF
  2123.  
  2124.     This  file  contains  the  information  used  for  "personal  downloading",
  2125.     described in section 11.7.
  2126.  
  2127.     RBBS-REG.DEF
  2128.  
  2129.     This is  the default name  for the questionnaire  that is asked of  all new
  2130.     users who log on.   The "new user" questionnaire is only seen  once, by new
  2131.     users, and can  be as extensive  as you may like  (or you can have  none at
  2132.     all).
  2133.  
  2134.     MAIN.PUI
  2135.  
  2136.     This is  the programmable  user interface  file that  allows  the SysOp  to
  2137.     structure the RBBS-PC commands as desired.
  2138.  
  2139.     MAIN.NWS
  2140.  
  2141.     The  "news" file for the main  message base.  If  you rename your users and
  2142.     messages to XYZU.DEF and XYZM.DEF, then "XYZ.NWS" would be the news file.
  2143.  
  2144.     CONFMAIL.DEF
  2145.  
  2146.     This  is a text file setup by the  SysOp to notify callers of the mail they
  2147.     have waiting in specific (or all) conferences.  See section 14.1 for a more
  2148.     comprehensive description of this feature.
  2149.  
  2150.     AUTOPAGE.DEF
  2151.  
  2152.     This  is  a text  file setup  by the  SysOp that  informs RBBS-PC  of which
  2153.     caller, callers, or  group of callers that the  system should automatically
  2154.     "page" the  SysOp as  soon as they  log on.   See section  6.11 for  a more
  2155.     comprehensive description of this feature.
  2156.  
  2157.     RBBS-PC CPC17.3                                                 Page 44
  2158.  
  2159.     6.  PLANNING YOUR USER INTERFACE
  2160.     ---------------------------------
  2161.     RBBS-PC provides each SysOp  the maximum control over what  is presented to
  2162.     callers.  There are three areas of control:
  2163.  
  2164.     1. The menus presented to novice callers.
  2165.     2. What is included in the prompt all users get.
  2166.     3. What symbol invokes a particular function.
  2167.  
  2168.     6.1 Menus Shown to Callers
  2169.     --------------------------
  2170.     The menus in RBBS-PC  are external text files that are  presented to novice
  2171.     users.   RBBS-PC  simply displays what  is in  these files to  the callers.
  2172.     Therefore, SysOps are  free to change the  text in these files  to whatever
  2173.     they  desire.  Simply  edit the files.   However, be sure  to use an editor
  2174.     that produces  only ASCII text  files with no special  embedded characters.
  2175.     Most word processing  editors are not suitable because  they insert special
  2176.     symbols in the file meaningful only to it.
  2177.  
  2178.     RBBS-PC supports  three types of files,  which the caller  can select using
  2179.     his graphics preference.   A file with no graphics has  only typeable text.
  2180.     ASCII graphics  means that  all 255  ASCII values  display on  the caller's
  2181.     screen using the IBM PC display conventions.  This allows support  for many
  2182.     symbols, such as  straight lines, a  heart, and many  others.  Using  these
  2183.     conventions, many  fancy graphic displays  are possible.   Last, a use  can
  2184.     request color graphics, which means  that the caller's monitor supports not
  2185.     only the IBM display conventions but supports ANSI commands for controlling
  2186.     the monitor, which  include such things as  color as well as  special modes
  2187.     like blinking.   Using ANSI commands, it  is possible to fully  control the
  2188.     caller's monitor.  One can go so far as to create animated pictures.
  2189.  
  2190.     Menu files are known by their names.  The format is XXXXXXXY, where XXXXXXX
  2191.     is the base file name and Y is a one-character addition.   Y is nothing for
  2192.     no graphics, G for ASCII graphics, and  C for color graphics.  RBBS-PC will
  2193.     look for  a file  based on  the users  graphic preference  and display  the
  2194.     graphics version if it exists.  Otherwise, the non-graphics file is used.
  2195.  
  2196.     Graphics files  have more characters in  them and therefore take  longer to
  2197.     transmit.  Creating them is not easy.   However, there are special ANSI and
  2198.     graphics editors which make creating such files much easier.
  2199.  
  2200.     RBBS-PC CPC17.3                                                 Page 45
  2201.  
  2202.     6.2 Subsystem Prompts Shown to Callers
  2203.     --------------------------------------
  2204.     RBBS-PC has several configuration options  which allow each SysOp to select
  2205.     the prompts that are presented to callers.  They are:
  2206.  
  2207.     1. Whether the section name is shown.
  2208.     2. Whether the letters of the available commands are shown.
  2209.  
  2210.     The commands  in RBBS-PC  are  divided into  four  sections:   MAIN,  FILE,
  2211.     UTILITY and  LIBRARY.  Each  has a set  of commands  in them and  there are
  2212.     commands  to move between  sections.  If  the SysOp elects  for the section
  2213.     name to be shown, the command line will read "<section> command", otherwise
  2214.     "Your command".  The default is to show the section.
  2215.  
  2216.     RBBS-PC  normally prompts  a caller  with  the commands  available in  each
  2217.     section that the caller has sufficient security to invoke.  Each command is
  2218.     a single letter and is shown separated  from the others by a comma.   These
  2219.     command letters  can either be  suppressed or not.   By  leaving them on  a
  2220.     SysOp provides  each  caller with  a  terse but  helpful  reminder of  what
  2221.     commands are available to them.
  2222.  
  2223.     RBBS-PC CPC17.3                                                 Page 46
  2224.  
  2225.     6.3 Commands Available to Callers
  2226.     ---------------------------------
  2227.     All primary commands in RBBS-PC are invoked  by single letter commands.  An
  2228.     attempt is made to  associate the command with the  first letter in a  word
  2229.     which describes the  function, so that the  command letter appears to  be a
  2230.     short abbreviation for  the longer  word.   The command  to invoke  reading
  2231.     messages is R.  The default symbols that would be shown in the command line
  2232.     for each section are:
  2233.  
  2234.     section|? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y 1 2 3 4 5 6 7
  2235.     -------|-------------------------------------------------------------------
  2236.     MAIN   |? @ A B C D E F   H I J K       O P Q R S T   V W X   1 2 3 4 5 6 7
  2237.            |
  2238.     FILE   |?         D     G H       L   N   P Q   S   U V   X
  2239.            |
  2240.     UTILITY|?     B C   E F G H       L M     P Q R S T U     X
  2241.            |
  2242.     LIBRARY|?   A   C D     G H       L         Q   S     V   X
  2243.            |
  2244.     GLOBAL |?                 H                 Q             X
  2245.  
  2246.     Four commands,  ? H Q and X, have the same meaning in every section and are
  2247.     known  as "global."   The other commands all  have unique function specific
  2248.     for the section within which they are invoked.  For  example, S in the main
  2249.     section  stands  for S)can  messages,  but  S)ubstring  search in  files  &
  2250.     Library, and S)tatistics  on the board and  session in utilities.   Symbols
  2251.     1-7 stand for SysOp functions.
  2252.  
  2253.     RBBS-PC allows  the SysOp to substitute any symbol  for any command.  Y)ell
  2254.     may be substituted for  O)perator page, or  Y)our mail for P)ersonal  mail.
  2255.     If a blank is substituted, the command  is removed from the list and is  no
  2256.     longer available.
  2257.  
  2258.     RBBS-PC CPC17.3                                                 Page 47
  2259.  
  2260.     6.4 RBBS-PC's "Wrap-around" Command Search
  2261.     ------------------------------------------
  2262.     There is a special option available in CONFIG which gives the SysOp unusual
  2263.     flexibility in configuring the user interface.   A caller is always "in"  a
  2264.     section, that  is where RBBS-PC looks for a  command that the user requests
  2265.     to  see whether it is a  valid command.  The  "wrap around" option controls
  2266.     how RBBS-PC looks further for a command when it is not found in the section
  2267.     the caller  is in.  If a SysOp substitutes a blank for the V>iew conference
  2268.     command in the main section (as mentioned in section 6.3) and a user enters
  2269.     the V command from the main  section, the V)iew archive file command  would
  2270.     be what the caller would have invoked.
  2271.  
  2272.     The fundamental idea is to look further in other sections, where the search
  2273.     order  is  MAIN->FILE->UTILITY->LIBRARY->GLOBAL->SysOp  and the  search  is
  2274.     circular, as depicted below:
  2275.  
  2276.                     ,-->- SysOp --> MAIN -->---.
  2277.                     |                          |
  2278.                     |                          |
  2279.                   GLOBAL                      FILE
  2280.                     |                          |
  2281.                     |                          |
  2282.                     `-<- LIBRARY -<- UTILITY <-'
  2283.  
  2284.     The  current section  determines only  where the search  starts.   If roll-
  2285.     around is used, the search will go completely around.  The real reason that
  2286.     "global"  commands are  global is  that RBBS-PC  always searches  after the
  2287.     library section if a command is not in the current section.  SysOp commands
  2288.     are therefore global for the same reason.
  2289.  
  2290.     The important  feature that roll-around supports  is that a  command with a
  2291.     unique letter works  in all sections.   Thus W)ho will work  everywhere the
  2292.     same  if  roll-around is  enabled.    THIS  ALLOWS  THE SysOp  TO  SUPPRESS
  2293.     SECTIONS.   In effect,  by enabling roll-around  and giving  each command a
  2294.     unique  symbol,  all commands  become  global  and  there is  no  effective
  2295.     difference between sections.  This allows SysOps to make commands available
  2296.     on  a single level  and makes  it unnecessary to  "go" to a  section before
  2297.     using a command in that section.
  2298.  
  2299.     RBBS-PC CPC17.3                                                 Page 48
  2300.  
  2301.     6.5 How to Have a Single Universal Command Line
  2302.     ------------------------------------------------
  2303.     The command structure  within RBBS-PC can be made  "flatter" without making
  2304.     it absolutely flat.  Suppose, for example, that a SysOp wants callers to be
  2305.     able to do all file functions without going to a files section.  In effect,
  2306.     the file functions are  available in the main section, or  the file section
  2307.     is merged  into the main section.  All that is needed to do is to eliminate
  2308.     the overlap in command letters between the two sections.
  2309.  
  2310.     The  main section and the file section share the letters D, P, S, and V.  V
  2311.     is  used to "view"  a conference  in the  main section  and "view"  what is
  2312.     contained in an  archived file.   D  is difficult because  both D)oors  and
  2313.     D)ownload are entrenched  and natural options.   One could leave D  for the
  2314.     most  frequently  used function,  say  download,  then  use a  special  but
  2315.     arbitrary symbol like  # for doors.  Similarly, V could be left for viewing
  2316.     conference mail in the main section and a special but arbitrary symbol like
  2317.     & for  viewing archived files in the file  section.  S)earch for substrings
  2318.     could  be replaced  by F)ind  since F  for going  to F)iles  is  not longer
  2319.     needed.  This could be accomplished by disabling F)iles and substituting  F
  2320.     for S in the files commands.
  2321.  
  2322.     P is used for personal mail  in the main section as well as  personal files
  2323.     in the file section.   Leaving P in the main section  for personal mail and
  2324.     selecting the symbol M for personal mail in the file section would have the
  2325.     lease impact on callers.
  2326.  
  2327.     U has to  be upload.   Note  that Quit could  still get  one to  utilities.
  2328.     Using  Q;U we can then disable U in the main menu.  If three symbols is too
  2329.     much of an exception we could use W for W)rite user preferences and use the
  2330.     special, but  arbitrary, symbol % to  find who else  is on.  Then  we could
  2331.     revise the main menu to read
  2332.  
  2333.                           R B B S   M A I N   M E N U
  2334.                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2335.     -- MESSAGES --       -- SYSTEM --    - FILES -   - UTILITIES -  - ELSEWHERE
  2336.     -
  2337.     [E]nter Message   [A]nswer survey [D]ownload [H]elp (or ?)  [Q]uit
  2338.     [K]ill Message    [B]ulletins     [L]ist     [%]Who's on    [F]iles (Q;F)
  2339.     [P]ersonal Mail   [C]omment       [N]ew      [X]pert on/off [G]oodbye (Q;S)
  2340.     [R]ead Messages   [#]DOORS        [M]y pers. files          [W]rite user
  2341.     [S]can Msg header [I]nitial Wel   [U]pload                   preferences
  2342.     [T]opic msg scan  [J]oin a conf.  [&]View ARC files         (Q;U)
  2343.     [V]iew mail wait  [O]perator Page [Z]ippy search            [@]Library
  2344.  
  2345.     RBBS-PC CPC17.3                                                 Page 49
  2346.  
  2347.     This menu could  be re-written without any apparent  sub-sections (by using
  2348.     the letter F to find who else is on) as
  2349.  
  2350.                           R B B S   M A I N   M E N U
  2351.                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2352.     [A]nswer survey [H]elp (or ?)     [P]ersonal mail   [U]pload a file
  2353.     [B]ulletins     [I]nitial welcome [*]Personal files [V]iew conference mail
  2354.     [C]omments      [J]oin conference [P]ersonal mail   [&]View ARC files
  2355.     [#]DOORS        [K]ill message    [Q]uit            [W]rite user pref
  2356.     [D]ownload      [L]ist files      [R]ead messages   [X]pert on/off
  2357.     [E]nter msg     [N]ew files       [S]can messages   [Z]ippy search
  2358.     [F]ind who's on [O]perator page   [T]opic msg scan  [@]Library
  2359.     [G]oodby
  2360.  
  2361.     Obviously the limitations  of using a single section (as the more primitive
  2362.     bulletin  board systems  do)  means that  the number  of  commands must  be
  2363.     restricted to either
  2364.  
  2365.        a.)  26 (letters in the alphabet), or
  2366.        b.)  36 (letters in the alphabet plus the numbers 0 through 9), or
  2367.        c.)  full "words".
  2368.  
  2369.     With  this  artificial  limitation  of a  single  section,  commands become
  2370.     limited in number, cryptic, or both.   If the even more clumsy use of  full
  2371.     "words"  is chosen,  the system  must slow  down  as it  can no  longer act
  2372.     immediately upon seeing the first character of a command as RBBS-PC does.
  2373.  
  2374.     However, assuming that someone would  actually wanted to configure  RBBS-PC
  2375.     to be  "flat" (i.e. have a single command line), let us continue.  In order
  2376.     not to confuse the caller by being in a section and seeing only some of the
  2377.     commands we want him to use, the SysOp could elect  not to show the section
  2378.     in the prompt  (CONFIG parameter 37) and  not to show the  commands (CONFIG
  2379.     parameter  38). Callers  would see  simply "Your  command?" as  the prompt.
  2380.     This makes the  expert mode pretty terse, but that simply means users would
  2381.     spend more time in novice mode before using expert.
  2382.  
  2383.     Now suppose  that  only a  single command  line was  desired  and that  the
  2384.     commands from the "Utilities" menu commands were to be added to the above.
  2385.     The "global"  H, ?,  Q, and X  commands already are  in the  single command
  2386.     line.
  2387.  
  2388.     M  for  message margin  can  remain unchanged  since  it is  unique  to the
  2389.     Utilities subsystem.
  2390.  
  2391.     In order to accommodate the  redundancy of letters that exist by  including
  2392.     the  Utilities subsystem's  commands, the  W command  for the  main message
  2393.     subsystem can be re-enabled and the remote SysOps commands be eliminated in
  2394.     order to re-use the numbers.  The Utilities subsystem commands B, C,  F, G,
  2395.     L,  R, and  S could  then be  replaced by  the  numbers 1  through 9.   The
  2396.     Utilities  subsystem commands  T, U,  E,  and P  could be  replaced  by the
  2397.     commands <, >, \, and /, respectively.
  2398.  
  2399.     RBBS-PC CPC17.3                                                 Page 50
  2400.  
  2401.     This  final menu of  all RBBS-PC commands  could be  re-written without any
  2402.     apparent sub-sections as  follows and the  screen that the would  appear to
  2403.     the "novice" users as:
  2404.  
  2405.                           R B B S  C O M M A N D S
  2406.                           ~~~~~~~~~~~~~~~~~~~~~~~~
  2407.     [A]nswer survey    [O]perator page        [1] Change Baud Rate 300-->450
  2408.     [B]ulletins        [*]Personal files      [2] Display time of day
  2409.     [C]omments         [P]ersonal mail        [3] Set file transfer protocol
  2410.     [#]DOORS           [Q]uit                 [4] Set type of graphics mode
  2411.     [D]ownload         [R]ead messages        [5] Set page length
  2412.     [E]nter msg        [S]can messages        [8] Review callers preferences
  2413.     [G]oodbye          [T]opic msg scan       [9] Display system statistics
  2414.     [H]elp (or ?)      [U]pload a file        [<] Toggle users options on/off
  2415.     [I]nitial welcome  [V]iew conference mail [>] Show the log of callers
  2416.     [J]oin conference  [&]View ARC files      [@] Library
  2417.     [K]ill message     [W]ho's on other nodes [\] Change echo selection
  2418.     [L]ist files       [X]pert on/off         [/] Change password
  2419.     [M]argin set       [Z]ippy search
  2420.     [N]ew files
  2421.  
  2422.     Your command?
  2423.  
  2424.     RBBS-PC CPC17.3                                                 Page 51
  2425.  
  2426.     6.6 RBBS-PC'S Programmable User Interface (PUI)
  2427.     -----------------------------------------------
  2428.     The  programmable user  interface (PUI,  pronounced "pee  u eye")  lets the
  2429.     SysOp take TOTAL CONTROL over what the caller is presented with, including:
  2430.  
  2431.     o     the novice menu
  2432.     o     the prompt line
  2433.     o     the organization of commands into groups (sections)
  2434.     o     the flow between sections
  2435.     o     unlimited levels of nested menus.
  2436.  
  2437.     This  allows  RBBS-PC  interface  that  the  caller  sees to  take  on  any
  2438.     appearance desired by the  SysOp.  In effect, the SysOp  is limited only by
  2439.     the  intrinsic functions  of RBBS-PC  that  have been  programmed into  the
  2440.     RBBS-PC BASIC  source code.   These functions  can be assigned  any command
  2441.     letter desired in the configuration program.  PUI lets the SysOp completely
  2442.     control how these commands are presented to the user - allowing  RBBS-PC to
  2443.     "emulate"  virtually  any other  host  communications environment  that the
  2444.     SysOp's callers may be familiar with.
  2445.  
  2446.     If no PUI  is provided, RBBS-PC  defaults to dividing  the commands into  a
  2447.     MAIN, FILES, UTILITIES, and LIBRARY section.
  2448.  
  2449.     RBBS-PC's PUI gives  each SysOp the  flexibility to tailor RBBS-PC  to meet
  2450.     special needs.  In effect, RBBS-PC's PUI allows the SysOp to adjust RBBS-PC
  2451.     to what the SysOp  wants, rather than forcing the SysOp  and his callers to
  2452.     conform to RBBS-PC.
  2453.  
  2454.     However, unlike RBBS-PC,  the PUI does not  adjust the prompt to  show only
  2455.     the commands that the user has sufficient security to do.  And, of  course,
  2456.     PUI takes much more time to design and implement.
  2457.  
  2458.     When the SysOp takes  control of what  the user is  presented by using  the
  2459.     PUI, RBBS-PC does what the SysOp has explicitly set up -- and nothing else!
  2460.     For example, RBBS-PC's "global" commands,  like help and the expert toggle,
  2461.     are no longer automatically available  everywhere.  They are available only
  2462.     where the SysOp has indicated via the PUI.
  2463.  
  2464.     RBBS-PC's default  user interface has  evolved over the years  to represent
  2465.     what the callers found  useful (not the SysOps!).  A great deal of time and
  2466.     thought  went into  RBBS-PC's default  user  interface, and  it is  easy to
  2467.     overlook important things  when a SysOp  goes about setting  up his or  her
  2468.     own.  When using the PUI assume that a new user interface will take time to
  2469.     both develop  and refine (based on  your callers feedback).   Designing and
  2470.     implementing a PUI is not a simple undertaking as it is a total replacement
  2471.     for RBBS-PC's standard user interface.
  2472.  
  2473.     RBBS-PC CPC17.3                                                 Page 52
  2474.  
  2475.     6.6.1 An Example Using PUI
  2476.     --------------------------
  2477.     The main menu in  RBBS-PC can represent a bewildering  variety of commands,
  2478.     especially to a  new user.  Psychologists  often say that human  beings can
  2479.     effectively deal  with only at most 7 choices  at one time, whereas RBBS-PC
  2480.     has 10 more  than that in  its main section.   To help  people out in  this
  2481.     situation,  the  different  choices in  RBBS-PC  are  grouped  into related
  2482.     commands, but  the choices  can still be  overwhelming.   Some SysOps  have
  2483.     therefore wanted to  simplify the  main menu  by breaking it  up into  more
  2484.     sections.  The most  tempting group of commands to spin off are the message
  2485.     commands.  Suppose the main menu is to be simplified to look like:
  2486.  
  2487.                              <F>iles
  2488.                              <M>ail
  2489.                              <U>ser preferences
  2490.                              <G>oodbye
  2491.  
  2492.     The <M>ail command in  turn puts one in a section  where commands pertinent
  2493.     to messages become available in yet another menu, such as J)oin and E)nter.
  2494.     PUI is required  because the commands are grouped  into different sections.
  2495.     While  the  default  menu of  RBBS-PC  could  be edited  to  say  this, the
  2496.     underlying commands would not be grouped as desired.
  2497.  
  2498.     RBBS-PC CPC17.3                                                 Page 53
  2499.  
  2500.     6.6.2 How to Implement PUI
  2501.     --------------------------
  2502.     First, plan carefully on paper exactly what you  want the caller to see and
  2503.     what happens with each command.  Consider also, if you have a submenu,  how
  2504.     users are to get out of it.
  2505.  
  2506.     Each menu  or section of  PUI is  controlled by a  file whose  extension is
  2507.     "PUI".   The PUI  is installed by putting  a "main" PUI  file whose name is
  2508.     specified in the configuration program.   The default is "MAIN.PUI".   Each
  2509.     sub-board in  RBBS-PC can have a  different PUI system  if desired.   A PUI
  2510.     file consists of exactly 10 lines, and the format is:
  2511.  
  2512.              line 1:       <name of novice menu>
  2513.              line 2:       <prompt to display>
  2514.              line 3:       <valid commands>,<corresponding RBBS-PC commands>
  2515.              line 4:       <which valid commands are menus>
  2516.              line 5:       <names of PUI's that are menus>
  2517.              line 6:       <letter of quit command>
  2518.              line 7:       <prompt for quit command>
  2519.              line 8:       <valid sub-commands of quit command>
  2520.              line 9:       <which quit commands are PUI's>
  2521.              line 10:      <names of menu PUI's in quit command>
  2522.  
  2523.     The text in the lines should NOT be enclosed in quotes, except possibly the
  2524.     two parts of line 3.
  2525.  
  2526.     The novice menu  is just a  text file displayed  to novices, just like  the
  2527.     default menus (MENU1, MENU2, etc.).   The name can include a drive or  path
  2528.     as well as an extension.   The menu PUI's in lines 5 and  10 must be stored
  2529.     in the same drive/path as that in line 1.
  2530.  
  2531.     The prompt  to display is  what all  callers see when  asked for a  choice,
  2532.     including experts.  Normally this includes  a brief listing of the commands
  2533.     available along  with  a  request  for  a command.    This  prompt  is  NOT
  2534.     dynamically adjusted  to reflect the  security level of the  caller, unless
  2535.     the default  prompt in  RBBS-PC, which removes  commands the  caller cannot
  2536.     execute.
  2537.  
  2538.     Each PUI defines  a "section" of RBBS-PC  (just like RBBS-PC has  a default
  2539.     section of main, file, library, and utilities).  The valid commands are the
  2540.     symbols for  the acceptable  commands in this  PUI section.   They  must be
  2541.     upper  case only.   The first part  is the names  of the  commands that the
  2542.     caller must give.  Each symbol  must be mapped to a corresponding  internal
  2543.     symbol name in RBBS-PC which is set in CONFIG.  This way the same letter in
  2544.     a given  menu can be  used for different  commands in RBBS-PC, just  as "S"
  2545.     stands for S)can  messages in the main section and S)ubstring search in the
  2546.     files  section.  Since the default underlying RBBS-PC commands use the same
  2547.     letter in different  menus, you should first reconfigure  RBBS-PC to assign
  2548.     each RBBS-PC command a different underlying  symbol.  Then in the PUI  file
  2549.     map the  letter you want the caller  to use to that underlying  symbol.  Be
  2550.     sure in configuration NOT  to limit commands to the current  section -- you
  2551.     must let RBBS-PC  search in other sections for  underlying commands when it
  2552.     does not find it in the current section.
  2553.  
  2554.     In addition  to the  normal commands  available in  RBBS-PC, the  SysOp can
  2555.  
  2556.     RBBS-PC CPC17.3                                                 Page 54
  2557.  
  2558.     include new commands  which invoke other menus.   These must be  symbols in
  2559.     the list of valid commands.
  2560.  
  2561.     If a valid menu choice is picked, there must be a PUI file for that choice.
  2562.     Line 5 tells what  prefix the PUI file has.  Each PUI  name must consist of
  2563.     exactly 7 positions.   The PUI name can  be shorter than 7 letters,  but in
  2564.     the list you must blank fill out to 7  positions to the right.  The first 7
  2565.     characters are for the  first valid menu  command, the second 7  characters
  2566.     are  for the  second valid menu  command, etc.   RBBS-PC will automatically
  2567.     append the extension "PUI"  to this file name.   The file name can  include
  2568.     trailing spaces,  and must if shorter than 7  characters (any blanks in the
  2569.     name will be omitted).   Note that all PUI files must be in same drive/path
  2570.     as the novice menu in line 1.
  2571.  
  2572.     The  last 5 lines in the PUI file  concern how control goes from one PUI to
  2573.     another.   The  PUI processing supports  a "quit  to" command in  which the
  2574.     caller can jump to other menus - which one is specified in the  subcommands
  2575.     to the quit command (just like RBBS-PC's "quit" to command).
  2576.  
  2577.     Line 6  is the symbol (in the valid commands) which is the quit-to command.
  2578.     It must be a single capital letter.
  2579.  
  2580.     Line 7 is the  prompt for the quit-to  command, to be presented to  callers
  2581.     after they select the quit-to command (type ahead is supported).
  2582.  
  2583.     Line 8 is the  list of the valid sub-commands of the quit-to command.  Each
  2584.     command must be a capital letter.
  2585.  
  2586.     Line  9  tells which  of the  valid  subcommands are  PUI  commands.   If a
  2587.     sub-command is  valid but  not a  PUI command,  control will  be passed  to
  2588.     RBBS-PC to process the quit-to  command.  For example, Quit-to  S)ystem for
  2589.     hanging up would have to be processed this way.
  2590.  
  2591.     Line 10 tells what are the  names of the PUI files for each  PUI command in
  2592.     line 9.  The format of the PUI names  is exactly the same as in line 5 -- 7
  2593.     characters blank filled to the right if shorter.
  2594.  
  2595.     The following file MAIN.PUI installs the  example that was discussed in the
  2596.     previous section:
  2597.  
  2598.                       MMENU
  2599.                       Enter choice: <F,M,U,G>
  2600.                       FGMU," G  "
  2601.                       FMU
  2602.                       FMENU   MAILM   UMENU
  2603.                       <blank line>
  2604.                       <blank line>
  2605.                       <blank line>
  2606.                       <blank line>
  2607.                       <blank line>
  2608.  
  2609.     The name of the menu to be displayed initially is  MMENU.  The prompt users
  2610.     will see is "Enter choice:  <F,M,U,G>?" (RBBS-PC adds the trailing  "?" for
  2611.     prompts).  The  four valid commands  are F, G,  M, and U.   Three of  these
  2612.     commands invoke other  menus (F, M,  and U), and G  is a non-menu  command,
  2613.  
  2614.     RBBS-PC CPC17.3                                                 Page 55
  2615.  
  2616.     i.e.  one of the  base RBBS-PC  functions.   The PUI file  name for  "F" is
  2617.     FMENU.PUI,  MAILM.PUI for "M",  and UMENU.PUI for  "U".  Each  of these PUI
  2618.     files gives the  same type of  information as the main  PUI.  For  example,
  2619.     MAILM.PUI might contain
  2620.  
  2621.                       MAILM.MNU
  2622.                       Enter choice: <E,J,P,Q,R,S,T>
  2623.                       EJPQRST,EJPQRST
  2624.                       Q
  2625.                       MAIN
  2626.  
  2627.     The novice menu for the mail section is in file MAILM.MNU.  This file might
  2628.     contain the following text:
  2629.  
  2630.                         M A I L   S U B S Y S T E M
  2631.                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2632.                             E)nter a message
  2633.                             J)oin a new message base
  2634.                             P)ersonal mail (review)
  2635.                             Q)uit to main section
  2636.                             R)ead messages
  2637.                             S)can msg headers
  2638.                             T)opic msg scan
  2639.  
  2640.     The  prompt will appear immediately  below this line  unless an extra blank
  2641.     line  is included in the menu file.  There is only one menu command:  Q for
  2642.     getting back to the main menu.
  2643.  
  2644.     The  PUI system can  also be used  to emulate the  default RBBS-PC commands
  2645.     with 4 sections.   Four sample files are provided for  accomplishing this: 
  2646.     XMAIN.PUI, XFILE.PUI,  XUTIL.PUI, and  XLIBR.PUI.   For novice  menus, each
  2647.     uses  the standard default menu that comes  with RBBS-PC.  These presuppose
  2648.     that  RBBS-PC  has been  configured  with  the  following symbols  for  the
  2649.     underlying RBBS-PC commands:
  2650.  
  2651.         MAIN  =       normal:  ABCDEFIJKOPRSTUVW
  2652.                 reconfigured:  ABC>EFIJKOPRSTU\W
  2653.  
  2654.         FILES   =     normal:  DGLNPSUV
  2655.                 reconfigured:  DGLNYZ^V
  2656.  
  2657.         UTILITY =     normal:  BCEFGLMPRSTU
  2658.                 reconfigured:  !#E$<&M*()-+
  2659.  
  2660.         GLOBAL  =     normal:  H?QX
  2661.                 reconfigured:  H?QX
  2662.  
  2663.         SysOp   =     normal:  1234567
  2664.                 reconfigured:  1234567
  2665.  
  2666.         LIBRARY =     normal:  ACDGLSV
  2667.                 reconfigured:  []{G}:'
  2668.  
  2669.     RBBS-PC CPC17.3                                                 Page 56
  2670.  
  2671.     6.7 RBBS-PC's Support of Sub-menus
  2672.     ----------------------------------
  2673.     Sub-menu support means that an  item on a menu can itself  be another menu,
  2674.     so that selecting  it results in a new menu being  displayed from which the
  2675.     caller can select yet another option.
  2676.  
  2677.     The areas  in RBBS-PC that  can have sub-menu  support include:   answering
  2678.     surveys, bulletins,  doors, joining  a conference,  and the  file subsystem
  2679.     command to list directories.
  2680.  
  2681.     A primary use  of sub-menus is to  simplify the user interface,  chiefly by
  2682.     allowing sub-categorization  of the option.   For example, suppose  a SysOp
  2683.     has a complex system of  doors, including multi-user games (TREK, NAPOLEON,
  2684.     3DCHESS), single-user games (D&D, R&R,  PICKUP), and demonstrations (DBIII,
  2685.     ORACLE, ADVENT).  These could be presented on a single menu, such as
  2686.  
  2687.          The following Doors are available:
  2688.  
  2689.          Multi-User Games
  2690.               TREK - explore the galaxy, compete with 12 other players
  2691.               NAPOLEON - be Russia, Italy, or England and fight the computer
  2692.               3DCHESS - are you ready, Spock?
  2693.  
  2694.          Single-User Games
  2695.               D&D - the Unix dungeons and dragons!
  2696.               R&R - welcome to Taipei, Tokoyo, or Bangkok, soldier!
  2697.               PICKUP - do you have what it takes?
  2698.  
  2699.          Demos - all self running
  2700.               DBIII - Special version of DB3 adopted for remote usage
  2701.               ORACLE - see the power of SQL.  Full screen if you emulate ANSI.
  2702.               ADVENT - our own home brewed ...
  2703.  
  2704.     With sub-menus, the user could see a single, 3 item menu
  2705.  
  2706.                 Doors are available for:
  2707.                 MGAME - multi-user games
  2708.                 SGAME - single-user games
  2709.                 DEMO - self running demos
  2710.  
  2711.     When the caller picks  one of these three,  a new menu comes up  that lists
  2712.     the particular doors for each  category.  For example, after  picking MGAME
  2713.     the caller sees
  2714.  
  2715.                    Multi-User Games available include:
  2716.  
  2717.         TREK - explore the galaxy, compete with 12 other players
  2718.         NAPOLEON - be Russia, Italy, or England and fight the computer
  2719.         3DCHESS - are you ready, Spock?
  2720.  
  2721.     RBBS-PC's sub-menu capabilities  allow SysOps to set  up "tree-structured",
  2722.     "key word" paths  to options.  Bulletins provide an example where this type
  2723.     of structure can  be very useful.   Bulletins have  two main uses:   short,
  2724.     system-wide announcements, and a standard  stock of text files for policies
  2725.     and procedures for a RBBS-PC.  Some SysOps,  however, have wanted to put up
  2726.  
  2727.     RBBS-PC CPC17.3                                                 Page 57
  2728.  
  2729.     an elaborate system of announcements, where in fact these "bulletins" are a
  2730.     featured way of  presenting data to  callers.  For example,  an association
  2731.     published 300 short pamphlets  under a dozen categories, and  wants to make
  2732.     this information  available on-line.   Sub-menus fit  this need  very well.
  2733.     The top bulletin menu could read
  2734.  
  2735.                    Bulletins are available for:
  2736.  
  2737.                             NURSES - nurses
  2738.                             OB - obstetricians
  2739.                             PED - pediatricians
  2740.                             FAM - family physicians
  2741.  
  2742.                    Please type in the category you want:
  2743.  
  2744.     OB, instead of being a bulletin, is a sub-menu that displays:
  2745.  
  2746.             The following bulletins are available for OBSTETRICIANS
  2747.             Each entry shows the length and price per glossy copy.
  2748.  
  2749.                  NAT - natural childbirth, 8 pages, $3
  2750.                  MIDW - midwives. 20 p., $5
  2751.                  NUTRI - special nutritional needs of pregnant women, 25p, $6
  2752.                  FPLAN - family planning services, 40 p, $3
  2753.                  DRUG - drugs to beware when pregnant, 50 p., $5
  2754.  
  2755.     When  the  caller  picks  MIDW,  the   associated  document  is  displayed.
  2756.     Bulletins become a menu-driven way of selecting documents to browse.
  2757.  
  2758.     There are  four general  changes to the  commands when  utilizing RBBS-PC's
  2759.     "sub-menu" features.
  2760.  
  2761.     First, to get  the menu displayed when  in expert mode, the  caller selects
  2762.     the L)ist function.
  2763.  
  2764.     Second,  the menu processing routine will search for a file associated with
  2765.     the option selected.  Bulletins and  file directories will be displayed  to
  2766.     the user.   These  are essentially  "display" functions.   If  a conference
  2767.     exist with the name specified, RBBS-PC will attempt to join it.  If a  door
  2768.     exists AND  it is  on the menu,  RBBS-PC will attempt  to invoke it.   This
  2769.     means that the  option does not have  to be listed explicitly in  the menu.
  2770.     Options can  be hidden from the user and still  work (except for doors).  A
  2771.     "secret"  conference can be available only if  the caller already knows the
  2772.     name.
  2773.  
  2774.     Third, the prompt is more standardized.
  2775.  
  2776.     Fourth, the standard way to get out of the menu is just to press [ENTER].
  2777.  
  2778.     The bulletins function has been generalized so that bulletins can use names
  2779.     and not just numbers.   For example, selecting "B" as  the bulletin prefix,
  2780.     the above bulletins  would be files BNAT, BMIDW,  BNUTRI, BFLAN, and BDRUG.
  2781.     However, the  search for new bulletins  works properly only  if numbers are
  2782.     used to name  bulletins, and the prompt  for bulletins simply asks  for the
  2783.     bulletin and does not mention any numbers.
  2784.  
  2785.     RBBS-PC CPC17.3                                                 Page 58
  2786.  
  2787.     6.7.1 How to Implement Sub-menus
  2788.     --------------------------------
  2789.     If "XXX" is an option on a menu, simply create  a file named "XXX.MNU" that
  2790.     has in it the text  for the menu.  Put this file in  the same drive/path as
  2791.     the non-menu options  (e.g. where the "BAT"  files go for doors,  where the
  2792.     bulletin files to  display are put,  where the directory  files are).   For
  2793.     example, if  "B"  is  the  bulletin prefix,  the  above  example  would  be
  2794.     implemented by adding  the files  "BNURSE.MNU", "BOB.MNU", "BPED.MNU",  and
  2795.     "BFAM.MNU".   Put  these  files  on  the  same  drive  that  the  bulletins
  2796.     themselves go.
  2797.  
  2798.     Callers can list any menu at any time as long as the menu they wish to list
  2799.     has the qualifier "MNU".
  2800.  
  2801.     6.7.2 Shared Options Across Sub-menus
  2802.     -------------------------------------
  2803.     Each option on a sub-menus used to have to be uniquely named, because  they
  2804.     all shared the  same prefix.  Hence  no two submenus  could offer the  same
  2805.     option   -- RBBS-PC couldn't  have all menus  with 1,2,... or  A,B,C,... as
  2806.     options to  pick.  RBBS-PC supports using same response on different menus.
  2807.     The way that this works is RBBS-PC  now searches both for the global prefix
  2808.     and the user  response as well as looking  for the current prefix  and user
  2809.     response.  If the bulletin prefix is "B", and the structure of bulletins is
  2810.     as follows:
  2811.  
  2812.               /   1        N is main bulletin menu
  2813.            A ---- 2        BNA.MNU  submenu get with choice A
  2814.          /    \   3        BNB.MNU  submenu get with choice B
  2815.         /                  BNC.MNU  submenu get with choice C
  2816.        /      /   1
  2817.     N ---- B ---- 2        BNA1, BNA2, BNA3 bulletins get under NA
  2818.        \      \   3        BNB1, BNB2, BNB3 bulletins get under NB
  2819.         \                  BNC1, BNC2, BNC3 bulletins get under NC
  2820.          \    /   1
  2821.            C ---- 2
  2822.               \   3
  2823.  
  2824.     RBBS-PC CPC17.3                                                 Page 59
  2825.  
  2826.     6.8  RBBS-PC's "Macro" Command Support
  2827.     --------------------------------------
  2828.     RBBS-PC's  "macro"  support  expands  a   single  keystroke  into  multiple
  2829.     keystrokes.  It allows RBBS-PC to be tailored in even a greater variety  of
  2830.     ways  than before  because  a single  command  can be  set up  to  invoke a
  2831.     sequence of multiple  RBBS-PC commands.   The  concept is  similar to  that
  2832.     pioneered by  Prokey, except that  in RBBS-PC the SysOp  defines the macros
  2833.     and the caller invokes them transparently without knowing.
  2834.  
  2835.     Macros are an extension of the effort in RBBS-PC  to give the SysOp control
  2836.     over the user interface.  RBBS-PC allows the SysOp to substitute any letter
  2837.     for  any command, to  group the  commands in any  way desired,  and to have
  2838.     unlimited submenus.   Macros give the SysOps the ability to create and mold
  2839.     their RBBS-PC into  an unlimited variation of commands.   RBBS-PC's "macro"
  2840.     command facilities frees  every SysOp from having  to impose the  rigid and
  2841.     inflexible  command structure  on  their callers  that  other more  limited
  2842.     PC-based bulletin board systems impose.
  2843.  
  2844.     Macros  add a new dimension to  RBBS-PC commands -- commands  can be a full
  2845.     word  rather than just a single letter.  A macro is invoked by a name up to
  2846.     8 symbols.   For example,  "DOOR" and "OPEN" can  be used to  invoke doors.
  2847.     This makes it easy to make  all commands available on a single level.   For
  2848.     example,  the  otherwise  irreconcilable conflict  between  "Download"  and
  2849.     "Door" can be resolved by using the full word "DOOR" for doors.
  2850.  
  2851.     Macros can be used to abbreviate a  longer series of commands. If the SysOp
  2852.     wants to use "A)bandon conference", all that need be done is to add a macro
  2853.     called "A" whose content  is "J M" (join  main).  Or  if N)etmail is to  be
  2854.     used to read Fido-net compatible message bases, a macro called "N" could be
  2855.     set up as "D NETMAIL" (use door called NETMAIL).  Since doors are unlimited
  2856.     in nature, RBBS-PC thus can have UNLIMITED commands.
  2857.  
  2858.     A string  of RBBS-PC commands can  be stored in a macro  for many different
  2859.     types of purposes, including (but not limited to)
  2860.  
  2861.          setting up demos,
  2862.          showing a user what to do rather than just explaining it in words,
  2863.          automating testing when doing RBBS-PC development, or
  2864.          automating a check-out of all of the RBBS-PC functions.
  2865.  
  2866.     Macros can also  be used to  make the  same type of  function do  different
  2867.     work.  For example, the  B)ulletin command basically displays a  text file.
  2868.     Suppose an  association wants  to let persons  order pamphlets  and preview
  2869.     them  on-line.   Rather than  bury  the ordering  function insider  A)nswer
  2870.     questionnaire  and  the preview  function  inside B)ulletins,  the commands
  2871.     PREVIEW  and ORDER  can  be added  as  macros, where  ORDER  stands for  "A
  2872.     ORDWHAT" AND "ORDWHAT"  is a submenu listing  what all can be  ordered, and
  2873.     each option on  the submenu is  a questionnaire.   PREVIEW similarly is  "B
  2874.     PREWHAT" where "PREWHAT" is a  submenu listing the available pamphlets that
  2875.     are stored as text files.
  2876.  
  2877.     Macros can be built to provide  interactive help to callers.  For  example,
  2878.     you can put up a macro called EZDOWN to help people download.  It  explains
  2879.     everything, asks for the file name and  protocol, and tells the caller what
  2880.     they should be doing on their end, and then drives the download.
  2881.  
  2882.     RBBS-PC CPC17.3                                                 Page 60
  2883.  
  2884.     Macros   can  be   used  to   provide  integrated   data  bases.     Unlike
  2885.     questionnaires, you can totally control how data is written to a file.  You
  2886.     can put in  labels, or data  only, put the values  in quotes, separate  the
  2887.     values by commas, etc.  This is done by writing to a file.  A block of text
  2888.     functions like a template into which data values are substituted.
  2889.  
  2890.  
  2891.     Macros can  be used to give "tours"  of your RBBS-PC -- to  showcase new or
  2892.     special features.
  2893.  
  2894.     Macros have  security levels built into  them to control access,  just like
  2895.     regular commands,  and  they can  be  forced  to operate  only  in  certain
  2896.     contexts.
  2897.  
  2898.     Macros can be
  2899.  
  2900.        1.)  invoked anywhere within RBBS-PC -- including questionnaires,
  2901.        2.)  unlimited in length,
  2902.        3.)  used even when the caller has "turbo" key feature enabled,
  2903.        4.)  used with "Smart" Text (see section 6.9),
  2904.        5.)  used to store responses that can be manipulated latter, and
  2905.        6.)  used to support graphics versions of text.
  2906.  
  2907.     It is important to remember that a macro will be ignored if its name is the
  2908.     same as any command.   To replace a command with  a macro, you must  insure
  2909.     that the letter for the command has been reassigned.  CONFIG parameters 30-
  2910.     34 allow such reassignments to be easily accomplished.
  2911.  
  2912.     Some contexts will  not accept macros, such  as prompts for text  to search
  2913.     for.
  2914.  
  2915.     Macro commands  with more than one letter override  all others.  This means
  2916.     that the macro interpretation will  prevail if more than one interpretation
  2917.     is  possible.   For example, in  the absence  of macros the  command "door"
  2918.     would the  interpreted as  the command "d",  so that  saying "door"  in the
  2919.     files  section would  be  download.   But  a "DOOR.MCR"  would  be executed
  2920.     instead when  it exists.   One letter  commands, however, will  be executed
  2921.     when  they match a command  letter, and so any macros  will be ignored that
  2922.     have the same one letter name the same as a command.
  2923.  
  2924.     RBBS-PC CPC17.3                                                 Page 61
  2925.  
  2926.     6.8.1 How to Set Up "Macros"
  2927.     ---------------------------
  2928.     The first line  in a  macro simply  REPLACES the macro  name and  therefore
  2929.     operates in  its place.  If PREVIEW  is typed in and the  first line is "B"
  2930.     for bulletins, then "B" will replace "PREVIEW" and the command will proceed
  2931.     exactly as if "B" has been typed instead of "PREVIEW".
  2932.  
  2933.     Subsequent lines in a macro are read in a line at a time and processed.
  2934.  
  2935.     Two configuration parameters must be specified:  the drive/path where macro
  2936.     files are  stored (CONFIG parameter 79)  and the extension the  macro files
  2937.     will have (CONFIG parameter 80).  The default names are "C:" and "MCR".  To
  2938.     create a macro named  X, simply create a  file with prefix X and  the macro
  2939.     extension and  place in it the macro drive/path.   If you are not using any
  2940.     macros, your processing  will be speed up  if you make the  macro extension
  2941.     empty.
  2942.  
  2943.     The first  line within a  "macro" contains the numeric  integer value which
  2944.     represents  the  minimum  security  to  use  the  macro,  and  an  optional
  2945.     limitation  on the  scope of  the  macro, in  which it  will  be operative,
  2946.     including
  2947.  
  2948.     o   anywhere inside a section
  2949.  
  2950.     o   anywhere inside a command
  2951.  
  2952.     o   only at a section and not inside.
  2953.  
  2954.     The constraint is governed by an extra parameter to the 1st line in a macro
  2955.     file.  The new format is:
  2956.  
  2957.                   <SecLevel>/<constraint>
  2958.  
  2959.     where  <SecLevel> is the  minimum security required  to run  the macro, and
  2960.     <constraint> is the  section (M for main, F  for file, U for  utility, or @
  2961.     for  library) and  command letter  the macro is  confined to  (use original
  2962.     command letter, not the reassigned ones).  For example
  2963.  
  2964.                     4/M
  2965.  
  2966.     means that security  level 4 is  required, and  the macro runs  only at  or
  2967.     inside the main section prompt.
  2968.  
  2969.                     5/MB
  2970.  
  2971.     means  that security  level 5  is required  and the macro  runs only  at or
  2972.     inside the main section bulletin command.  Thus the macro file 1.mcr
  2973.  
  2974.                     2/MJ
  2975.                     {EN
  2976.                     PCB
  2977.  
  2978.     means that when inside the main J)oin, the macro "PCB" will  be substituted
  2979.     for "1".  (So "J 1" does the work of "J PCB".)  The "{EN" means not to echo
  2980.     what the macro substitutes (user does not see "PCB").
  2981.  
  2982.     RBBS-PC CPC17.3                                                 Page 62
  2983.  
  2984.     To make a macro be operative only at a section prompt and not inside, add a
  2985.     " /" to the end of the section constraint.  For example,
  2986.  
  2987.                      4/M /
  2988.  
  2989.     means that the macro applies only at the main section prompt.  For example,
  2990.     the macro SP.MCR
  2991.  
  2992.                      4/M /
  2993.                      {EN
  2994.                      J SEMIPRV
  2995.  
  2996.     will substitute "J SEMIPRV"  for "SP" when at the main  prompt, but NOT for
  2997.     "SP" inside the message read command ("R SP L").
  2998.                     
  2999.     Note:   a macro  will be  ignored if  it's name is  the same  as a  command
  3000.     symbol.  Hence to use 1, 2, 3, etc. for macro commands, you must disable or
  3001.     substitute other symbols for the SysOp commands.
  3002.  
  3003.     The first line  of a macro must  be the minimum  security level to use  the
  3004.     macro.  The  macro will simply  be ignored if  the caller has  insufficient
  3005.     security.   The second line will be parsed and replace the macro name.  The
  3006.     remaining lines will be read from disk and processed as required.
  3007.  
  3008.     Macro commands have the same structure as SmartText variables:
  3009.  
  3010.                <command prefix><command name>
  3011.  
  3012.     where <command prefix> is the SmartText command specified in CONFIG.
  3013.     The symbol "{" (ASCII 123) is the default.  The <command name> consists
  3014.     of two characters.  Lines that are not valid macro commands are simply
  3015.     passed to RBBS as if the user had typed them in.  There are three
  3016.     differences between SmartText variables and macro commands:
  3017.  
  3018.     (1)   Macro commands must be the first three characters on a line,
  3019.           whereas SmartText variables can occur anywhere on a line.
  3020.  
  3021.     (2)   Macro commands can have an argument after the command name, and
  3022.  
  3023.     (3)   A macro command can apply to a block of lines following it.
  3024.  
  3025.     RBBS-PC CPC17.3                                                 Page 63
  3026.  
  3027.     6.8.2 Macro Commands
  3028.     --------------------
  3029.     RBBS-PC  "Macro"  Commands  includes  the  capability  of  having  commands
  3030.     executed within the "macro" rather  than simply passing keystrokes to RBBS-
  3031.     PC.   In all prompts and blocks, substitution  is supported for both stored
  3032.     answers SmartText variables.  The macro commands include:
  3033.  
  3034.     o   display a line with no carriage return
  3035.     o   display a line with carriage return
  3036.     o   display a block of lines
  3037.     o   display a file
  3038.     o   prompt for a response and store answer
  3039.     o   pause a specified # of seconds
  3040.     o   stack keystrokes
  3041.     o   append a block of lines to a file.
  3042.     o   control whether the macro text is echoed or not
  3043.     o   retrieve values from a file into a form which is the displayed
  3044.     o   assign a value to a work variable
  3045.     o   edit answers to a macro question
  3046.  
  3047.     Following is a list and description of valid "macro" commands:
  3048.  
  3049.     *0 - display what follows on the line with no carriage return.
  3050.     *1 - display what follows on the line with a carriage return.
  3051.     *B - display what follows on subsequent lines.
  3052.     *F - display the named file that follows.
  3053.     nn - use text that follows as a prompt and store the result.
  3054.     WT - pause for the number of seconds specified after "WT".
  3055.     >> - append the following block of text to the file specified.
  3056.     ST - Stack the characters immediately following the "ST".
  3057.     M! - Execute the named macro that follows on the same line.
  3058.     ON - Case logic for branching within macros based on stored results.
  3059.     EY - Echo the text passed in macros as if keystrokes.
  3060.     EN - Do not echo the macro keystrokes.
  3061.     << - Display fields from a file in a form.
  3062.     := - Assign value to a work variable
  3063.     LV - Verify that answer of one in a list
  3064.     NV - Verify that answer is between two integers
  3065.     CV - Verify that answer is between two character values
  3066.  
  3067.     *0 - display what follows on the line with no carriage return.
  3068.  
  3069.              {*0Press any key to continue
  3070.  
  3071.     *1 - display what follows on the line with a carriage return.
  3072.  
  3073.              {*1{FN, I hope you enjoyed your tour of the board!
  3074.  
  3075.          The caller's first  name is substituted for the  "Smart" Text variable
  3076.          "{FN".
  3077.  
  3078.     *B - display what  follows on subsequent  lines, each line with  a carriage
  3079.          return, up to the line beginning with "{END".
  3080.  
  3081.              {*B
  3082.  
  3083.     RBBS-PC CPC17.3                                                 Page 64
  3084.  
  3085.              Macro commands have the ability to display
  3086.              multiple lines.  The macro command is
  3087.                          {*B
  3088.              and it will display all lines until it encounters
  3089.              one beginning with {END.  Like it, {FN?
  3090.              {END
  3091.  
  3092.          The caller will seen everything between the first and last lines, with
  3093.          the first name substituted into the last line displayed.
  3094.  
  3095.     *F - display the named file that follows.
  3096.  
  3097.              {*F L:\RBBS\HELP.LST
  3098.  
  3099.          will display the file HELP.LST.
  3100.  
  3101.     nn - use the  text that  follows on  the  line as  a prompt  and store  the
  3102.          resultant answer in an internal working variable numbered nn.  nn must
  3103.          be two digits  and can be  01, 02, 03, ...,  99.  CONFIG  parameter 94
  3104.          controls the maximum # of work variables.
  3105.  
  3106.              {01Please enter the Department you work for:
  3107.              {02Please enter your Office number:
  3108.  
  3109.          This will store the  answers in work variable # 1 and  2, which can be
  3110.          subsequently referenced as "[1]" and "[2]".  You can have as many work
  3111.          variables as  specified in  CONFIG parameter 94.   Variables  that are
  3112.          reused have their values overwritten.
  3113.  
  3114.  
  3115.     WT - pause for the number of seconds specified after "WT".
  3116.  
  3117.              {WT 2
  3118.  
  3119.          will wait for 2 seconds.
  3120.  
  3121.     >> - append the following block of text to the file specified on this line.
  3122.  
  3123.              {>> C:MACRO.DAT
  3124.              "{FN","{LN","[1]","[2]"
  3125.              {END
  3126.  
  3127.          will append the following  line to the file  named MACRO.DAT on  drive
  3128.          C:, assuming the caller is KEN GOOSENS, and he responded to  the above
  3129.          prompts  for  Department with  "Controller" and  Office #  with "107".
  3130.          Then the line what would be written out is:
  3131.  
  3132.              "KEN","GOOSENS","Controller","107"
  3133.  
  3134.          As many  lines can be included as desired.  Simply end the block to be
  3135.          written out with "{END" as the beginning of the line.
  3136.  
  3137.          Some data base managers want  fixed length files and this  is possible
  3138.          in  the  macro append.   Just  add  "/FL" on  the macro  command line.
  3139.          Rather than  replace, the  substitution will overlay  the line  at the
  3140.  
  3141.     RBBS-PC CPC17.3                                                 Page 65
  3142.  
  3143.          "[",  thus keeping the  output fixed  length.   Lets suppose  that the
  3144.          first work  variable has "A" as a value,  the second work variable has
  3145.          the  value "123456", the third  work variable has  "Henry" as a value,
  3146.          and the caller's first name is KEN.  Then
  3147.  
  3148.              {>> C:\RBBS\DAT.FIL /FL
  3149.              [1][2]....[3]...............{FN........
  3150.              {END
  3151.  
  3152.          would add the following line into DAT.FIL
  3153.  
  3154.                 A  123456.Henry.............KEN.........
  3155.  
  3156.          Normally, blanks would be put where dots are show.
  3157.  
  3158.     ST - Stack the characters immediately following the "ST".
  3159.  
  3160.                     {ST
  3161.  
  3162.          will stack a carriage return (no characters).  And
  3163.       
  3164.                     {STD [1] [2]
  3165.  
  3166.          would stack  "D RBBS-EXE.ARC  Z" -  as if  they were  typed and  ENTER
  3167.          pressed  - if the first work variable had "RBBS-PC.EXE" and the second
  3168.          work variable held "Z".  It is  important to note that "macros" are so
  3169.          transparent to RBBS-PC  that if you use  macros to display text  at an
  3170.          RBBS-PC prompt  like "Enter command?  ", RBBS-PC will continue  to sit
  3171.          there  waiting for an  answer.  A  stacked carriage return  at the end
  3172.          will cause  the prompt  to be redisplayed,  though the  effect of  the
  3173.          stack will vary with the particular prompt.
  3174.  
  3175.     M! - Execute the named macro that follows on the same line.  E.g.
  3176.  
  3177.                      {M! ORDER
  3178.  
  3179.          will execute the  macro called ORDER.  The executes are like "go to's"
  3180.          in that  execution of  the current  macro ceases  and does  not return
  3181.          automatically when ORDER is done.  The  full file name of the macro to
  3182.          "go to"  is not here  used (i.e. ORDER.MCR),  only the file  prefix --
  3183.          ORDER.
  3184.  
  3185.          As is  shown in the example of the ON command, the macro name can have
  3186.          a drive/path and/or  extension.  If only  a prefix is put  in, RBBS-PC
  3187.          will  automatically  add  the  drive/path  and  extension  for  macros
  3188.          specified in  CONFIG parameter  79  and parameter  80.   Putting in  a
  3189.          drive/path/extension that is  different from CONFIG's assures  that no
  3190.          caller can invoke the macro -- it only can be used internally  by your
  3191.          application.
  3192.  
  3193.     ON - Case logic for macros.  This allows responses to be tested against and
  3194.          branching logic developed within a "macro".  An example would be:
  3195.  
  3196.              {ON 1
  3197.              {==A
  3198.  
  3199.     RBBS-PC CPC17.3                                                 Page 66
  3200.  
  3201.              {M! D:\HIDDEN\CHOICEA.MCR
  3202.              {==B
  3203.              {*1You have selected option B
  3204.              {02Why did you select B?
  3205.              {==C
  3206.              {M! D:\HIDDEN\CHOICEA.MCR
  3207.              {END ON
  3208.  
  3209.  
  3210.     EY - Echo the text passed  in macros as if  keystrokes.  The default is  to
  3211.          echo.
  3212.  
  3213.     EN - Do not echo the macro keystrokes.  An example would be:
  3214.  
  3215.             {EN
  3216.             {*1 The following commands will be executed but now shown
  3217.             {01 Press Enter when ready
  3218.             R L
  3219.             A
  3220.             {EY
  3221.             {*1 Same commands but now you will see the responses to the prompts
  3222.             {01 Press Enter when ready
  3223.             R L
  3224.             A
  3225.  
  3226.     << - Display fields  from a  file  in a  form.   This is  one  of the  most
  3227.          powerful macro commands.  It allows data to be stored in compact, data
  3228.          format but retrieved into a form for display to a caller.    There are
  3229.          5 parameters that can follow the macro command:
  3230.  
  3231.                <file name>  <file format> <data#> <submode> <rec-pause>
  3232.  
  3233.           where:
  3234.  
  3235.          "<file name>" is the name of the data file that has records to read,
  3236.  
  3237.          "<file format>" is  "/V" if data is  stored in variable  length format
  3238.          and "/F" if fixed length format,
  3239.  
  3240.          "<data#>" is  the number of  separate fields in a  record for variable
  3241.          length data and the length of the data if fixed length,
  3242.  
  3243.          "<submode>" is the mode  used to substitute data in the following form
  3244.          "/FL" if the form is fixed length, meaning that data is  overlaid into
  3245.          the form so as not to change any lengths.
  3246.  
  3247.          "<rec-pause>"  should be "/1" if  you want to  pause after each record
  3248.          rather than when the screen fills.
  3249.  
  3250.          An example of a "macro" that uses this capability is as follows:
  3251.  
  3252.     {*1 -TOPIC-    - DATA # -       - VOICE # -    -First Name-    -Last Name-
  3253.     {<< C:\RBBS\RHLP.DAT /V 5 /FL
  3254.     [1]         [2]              [3]             [5]             [4]
  3255.     {END
  3256.  
  3257.     RBBS-PC CPC17.3                                                 Page 67
  3258.  
  3259.     Note that spaces occur after the "[4]".  If the file RHLP.DAT contains
  3260.  
  3261.     "DOORS","404-981-7781","405-988-7782","Wizard","The"
  3262.     "PROTOCOLS","709-123-4567","0","Horse","Crazy"
  3263.  
  3264.     then the caller would see
  3265.  
  3266.      -TOPIC-    - DATA # -       - VOICE # -    -First Name-    -Last Name-
  3267.     DOORS       404-981-7781     405-988-7782    The             Wizard
  3268.     PROTOCOLS   709-123-4567     0               Crazy           Horse
  3269.  
  3270.     The same example using fixed length data would be
  3271.  
  3272.     {*1 -TOPIC-    - DATA # -       - VOICE # -    - Name -
  3273.     {<< C:\RBBS\RFLH.DAT /F 69 /FL
  3274.     [1](34:12)    [1](46:12)       [1](58:12)      [1](1:33)             
  3275.     {END
  3276.  
  3277.     where RFLH.DAT contains:
  3278.  
  3279.     The Wizard                       DOORS       404-981-7781405-988-7782
  3280.     Crazy Horse                      PROTOCOLS   709-123-45670         
  3281.  
  3282.     This would produce the following for the caller:
  3283.  
  3284.      -TOPIC-    - DATA # -       - VOICE # -    - Name -
  3285.     DOORS       404-981-7781     405-988-7782    The Wizard
  3286.     PROTOCOLS   709-123-4567     0               Crazy Horse
  3287.  
  3288.     Note that work fields support sub-field references in the format:
  3289.  
  3290.              [n](x:y)
  3291.  
  3292.     where n is the work  field number, "x" is the beginning column,  and "y" is
  3293.     the #  of bytes  to get.   If work  field three had  a value  "123abc" then
  3294.     "[3](3:3)" would have "3ab" as its value.   Fixed length records are always
  3295.     referenced as work variable one.
  3296.  
  3297.     := - Assign a value to  a work variable.  Work variables  can be assigned a
  3298.          value inside a macro.  The command to do this is ":=".  E.g.
  3299.  
  3300.              {:= 5 OK
  3301.  
  3302.          assigns string "OK" to work variable 5.
  3303.  
  3304.     LV, NV, and CV - Questions in macros can now have edits on the answers: the
  3305.          edits can constrain the answer to
  3306.  
  3307.          o    one of a list
  3308.  
  3309.          o    a numeric value between two values
  3310.  
  3311.          o    a character value between two values
  3312.  
  3313.          An  editing constraint  must  be  put in  front  of  the actual  macro
  3314.  
  3315.     RBBS-PC CPC17.3                                                 Page 68
  3316.  
  3317.          question  it applies to,  and a  constraint applies  only to  the next
  3318.          question and does not remain operative.
  3319.  
  3320.          The  commands for  these  are respectively  "LV"  (List Verify),  "NV"
  3321.          (Numeric Verify), and  "CV" (Character Verify).  The  list verify uses
  3322.          the first  character after  the command as  a delimiter  between valid
  3323.          responses.   E.g. "{LV;R;A;E;" means that  only "R", "A", and "E" will
  3324.          be  accepted as  answers ("{LV/R/A/E/"  would have  the same  effect).
  3325.          Semi-colon  is the  best delimiter  in  general because  it cannot  be
  3326.          entered as a value.
  3327.  
  3328.          Between checks are always inclusive.  Thus "{NV 9 11" will accept only
  3329.          9, 10, or  11.  The numeric  value must be an  integer between -32,768
  3330.          and  32,767.  To accept answers B-E, the  macro edit command is "{CV B
  3331.          E".
  3332.  
  3333.          Whenever an answer  fails an edit, the message  "Invalid answer <...>"
  3334.          is given with  the answer received between brackets,  and the question
  3335.          is asked again.  An example of a macro with edits is:
  3336.  
  3337.               4
  3338.               {*1 Verification macro
  3339.               {*1 now checking list...
  3340.               {LV;A;F;W;
  3341.               {01 Enter A, F, or W
  3342.               {*1 now testing numeric range...
  3343.               {NV 5 15
  3344.               {01 Enter a number between 5 and 15
  3345.               {*1 now testing character range...
  3346.               {CV D J
  3347.               {01 Enter a character between D and J
  3348.  
  3349.     6.8.3 A Sample Macro
  3350.     --------------------
  3351.     Suppose A)bandon  conference is to be implemented in  RBBS-PC.  To do this,
  3352.     the command A)nswer  questionnaires must  be assigned  a different  letter.
  3353.     Else A will always invoke answer instead.  Then the macro file could
  3354.     contain
  3355.               5
  3356.               J M
  3357.  
  3358.     The command "A" will then  be followed by "Rejoining MAIN".   Incidentally,
  3359.     if the macro had been implemented by
  3360.  
  3361.               5
  3362.               J
  3363.               M
  3364.  
  3365.     The only difference is  that the prompt for what conference to join will be
  3366.     displayed, "M" then would be displayed  as if the caller had typed  it, and
  3367.     then main would be rejoined.  The difference is caused by the fact that the
  3368.     first line after the security level is  what replaces the macro name, so in
  3369.     the first case "M" preempts the prompt but not in the second.
  3370.  
  3371.     RBBS-PC CPC17.3                                                 Page 69
  3372.  
  3373.     6.8.4 On-line Data Base With Macros & Questionnaires
  3374.     ----------------------------------------------------
  3375.     RBBS-PC provides the SysOp  with the ability to offer callers  access to an
  3376.     on-line  database  both internally  (using  macros and  questionnaires) and
  3377.     externally to RBBS-PC (see Appendix U).
  3378.  
  3379.     RBBS-PC's  internal Remote  Data Base  feature  (RDB) gives  the SysOp  the
  3380.     ability to:
  3381.  
  3382.     o   set up unlimited numbers of named data bases
  3383.     o   set up menus to interact with the user
  3384.     o   prompt users for data
  3385.     o   use Metavariables - both work variables and SmartText variables.
  3386.     o   store user's answers in work variables.  Any subfield in a
  3387.         work variable can be referenced.
  3388.     o   display, or store all metavariables
  3389.     o   process commands conditionally
  3390.     o   save Metavariables to file thru templates, allowing data to
  3391.         be stored in virtually any format desired
  3392.     o   retrieve data into templates for display.
  3393.     o   do full screen data entry
  3394.  
  3395.     RBBS-PC's  support for "full  screen" questionnaires and  macros takes some
  3396.     work  on the SysOp's part.   The SysOp must use  ANSI screen commands.  The
  3397.     SysOp  must then arrange to transmit the "template" that clears the callers
  3398.     screen and writes  the appropriate static text (lines, labels, etc.) on the
  3399.     callers screen.  Then the  data the user is to see is  transmitted onto the
  3400.     caller's screen.   The "full screen" support  does not allow the  caller to
  3401.     use keys like  tab and cursor arrows to  move around on the screen.   It is
  3402.     "full screen" in the sense that the caller sees all the data  that is to be
  3403.     entered and the cursor moves from field to field.
  3404.  
  3405.     Examples of  the kind of  applications that would utilize  RBBS-PC's remote
  3406.     data base feature are:
  3407.  
  3408.     For Sale  - ask user item, price, who to contact, telephone #.  Callers can
  3409.     add items, or view list of items.
  3410.  
  3411.     BBS lists -Callers can  view data base, or add BBS's  where asked for name,
  3412.     numbers, profile  of features.   No longer  do BBS ads  have to be  left in
  3413.     messages.    Can  have  informative, standardized  profile  that  makes BBS
  3414.     comparison meaningful.
  3415.  
  3416.     BIO -  ask users for a  profile of themselves  so others can know  who they
  3417.     are.
  3418.  
  3419.     VOTING - can  collect nominations say  for best GIF files.   No way  yet to
  3420.     force a caller to vote only once.
  3421.  
  3422.     On-line Database Example
  3423.     ------------------------
  3424.     This application  manages a data  base of callers  who are willing  to help
  3425.     with RBBS-PC by topic.   It is controlled at a high  level by the following
  3426.     questionnaire.
  3427.  
  3428.     RBBS-PC CPC17.3                                                 Page 70
  3429.  
  3430.     C:DUMMY.DAT,4
  3431.     * This questionnaire is for finding help with RBBS by topic.
  3432.     * Please register yourself if you
  3433.     *   o  are willing to help others, and
  3434.     *   o  know enough about a topic to help
  3435.     *
  3436.     * Examples of topics people need help with:
  3437.     *   Desqview       Modem models (HST, Everex, USR Internal, etc.)
  3438.     *   PC-Slaves      Protocols     Conferences    FMS
  3439.     *   Doors          DoubleDos     Subboards      PUI
  3440.     *   Questionnaires 10-Net        Marcos         Uploads
  3441.     *   MU-Purge       File maint.   Personal dwld  Caller Analysis
  3442.     *
  3443.     :-[prompt]-
  3444.     T
  3445.     ? V)iew database, E)nter new data, Q)uit (V,A,Q)
  3446.     =V-[view]-=E-[add]-=Q-[quit]-= -[prompt]-
  3447.     :-[view]-
  3448.     M C:\RBBS\VIEWHELP.MCR
  3449.     >-[prompt]-
  3450.     :-[quit]-
  3451.     @
  3452.     :-[add]-
  3453.     *                  703-978-6360
  3454.     ?1 BBS data number
  3455.     *                                   703-978-4339
  3456.     ?2 Voice # (evening, 0 not to give)
  3457.     * You can specify as many topics as desired, one at a time.
  3458.     *
  3459.     :-[topic]-
  3460.     ?3 RBBS topic you will help others with, or Q)uit
  3461.     =Q-[prompt]-= -[addrec]-
  3462.     :-[addrec]-
  3463.     * -Topic-         - Data # -      - Voice # -   Last Name       First Name
  3464.     */FL[3]              [1]             [2]            {LN             {FN    
  3465.       
  3466.     T
  3467.     ?Really add this record (Y,N)
  3468.     =Y-[really]-=N-[topic]-= -[addrec]-
  3469.     :-[really]-
  3470.     M C:\RBBS\ADDHELP.MCR
  3471.     >-[topic]-
  3472.  
  3473.     Two macros are used by this questionnaire:
  3474.     VIEWHELP.MCR for displaying the data base, and
  3475.     ADDHELP.MCR for appending new data to the data base.
  3476.  
  3477.     VIEWHELP.MCR contains
  3478.  
  3479.     5
  3480.     {*1 -Topic-          - Data #  -      - Voice  # -   Last Name        First
  3481.     Name
  3482.     {*F RBBSHELP.DAT
  3483.  
  3484.     ADDHELP.MCR contains
  3485.  
  3486.     RBBS-PC CPC17.3                                                 Page 71
  3487.  
  3488.     5
  3489.     {>> RBBSHELP.DAT /FL
  3490.     [3]              [1]             [2]            {LN             {FN        
  3491.     {END
  3492.  
  3493.     Full Screen Example
  3494.  
  3495.     Full screen is available only in a color graphics version of questionnaires
  3496.     and macros.  A long application for  collecting BBS information is given in
  3497.     these following files:
  3498.  
  3499.     REGRBBS.DEF  - Questionnaire driver, TTY version
  3500.     REGRBBSC.DEF - Color graphics version of questionnaire driver
  3501.     VUNRBBS.MCR  - View data base macro, TTY version
  3502.     VUNRBBSC.MCR - View data base macro, Color graphics version
  3503.     SVRBBS.MCR   - Macro to save data to a comma separated data file
  3504.  
  3505.     These files  can generally  be download from  most bulletin  board systems.
  3506.     However, they  are definitely available  on Ken Goosens' RBBS-PC  system at
  3507.     (703) 978-6360.
  3508.  
  3509.     Hints a Building Your own Remote Data Base Applications
  3510.     -------------------------------------------------------
  3511.     Generally you will have
  3512.  
  3513.     o    a questionnaire driver that gives caller option to exit, view
  3514.          database, or Enter new data.
  3515.  
  3516.     o    a macro to retrieve data from file to a form
  3517.  
  3518.     o    a macro to save data in a data base format.
  3519.  
  3520.     o    a data entry routine in the questionnaire.
  3521.  
  3522.     Creating a "full-screen" application is  more complicated that than a line-
  3523.     at-a-time (i.e. TTY) application.   For full-screen applications,  you will
  3524.     want
  3525.  
  3526.     o    to paint a template with all everything but the data values,
  3527.          such as row and column labels and titles.
  3528.  
  3529.     o    to clear out the existing values in a form and then put in
  3530.          the new values.
  3531.  
  3532.     Only the changes  to the screen are transmitted  rather than retransmitting
  3533.     the entire screen when only a part changes.
  3534.  
  3535.     ANSI commands  are used to control the screen.   Where [ESC] stands for the
  3536.     one-character Escape (ascii 27), the most useful ANSI commands to know are:
  3537.  
  3538.     [ESC][2J   -  clear the screen.
  3539.  
  3540.     [ESC][K    -  clear from current cursor position to end of line.  Cursor
  3541.                   position after clearing is same as before.
  3542.  
  3543.     RBBS-PC CPC17.3                                                 Page 72
  3544.  
  3545.     [ESC][X;Yf -  position the cursor on row x and column Y.  E.g.
  3546.                   "[ESC][5;10f" positions on column 10 of row 5.
  3547.  
  3548.     Case is  significant in  ANSI commands, so  beware that "[ESC][k"  will NOT
  3549.     clear to end of line, and "[ESC][1;7F" will not position the cursor.
  3550.  
  3551.     You can  use ANSI commands to reverse the video and change blinking and set
  3552.     color.   An easy  way consistent with  RBBS-PC is to  set colors  using the
  3553.     "Smart"  Text variables C0,  C1, ..., C4,  where 1-4 are  the colors set in
  3554.     CONFIG parameter 323, parameter  324, parameter 325, and parameter 326.  C0
  3555.     is "emphasis off" that restores normal text color preference of the caller.
  3556.     An  example that clears the  screen, sets color to 1,  positions on line 1,
  3557.     column 15, prints "Sample Title-",  sets color to caller's text preference,
  3558.     prints 2 spaces, and then prints value of work variable 1 is as follows:
  3559.  
  3560.     [ESC][2J{C1[ESC]1;15fSample Title-{C0  [1]
  3561.  
  3562.     RBBS-PC CPC17.3                                                 Page 73
  3563.  
  3564.     6.9 RBBS-PC's "Smart" Text Variables
  3565.     ------------------------------------
  3566.     SmartText  allows the  SysOp to  substitute pre-defined  variables  in text
  3567.     files as MENUS, Bulletins, Help, and  Welcome files, as well as macros  and
  3568.     questionnaires.   This  allows  the  SysOp to  present  to  each caller  an
  3569.     interface that is not only "programmable", as discussed in section 6.6, but
  3570.     also tailored to the specific caller.
  3571.  
  3572.     Some applications for SmartText include:  addressing the caller by name, as
  3573.     well as referring customized variables  for the caller, such as city/state.
  3574.     For  example, the  welcome file  could say,  "Hi, <first  name>, how's  the
  3575.     weather in <city/state>?".  SmartText variables can also be used for status
  3576.     line reports in menus, showing  such things as security, minutes remaining,
  3577.     and  current time.  Realize that it may  be important in graphics files not
  3578.     to change the  lengths of  lines.   The SmartText variable  "VY" does  just
  3579.     that.  Also, you may  not want trailing spaces in some  variables, and "TY"
  3580.     does this.
  3581.  
  3582.     To utilize RBBS-PC's "smart" text files, CONFIG parameter 17 must be set to
  3583.     the decimal  value of a delineation character that  the text editor used by
  3584.     the  SysOp  can  handle.   The  character  you  select  should  have  three
  3585.     characteristics:
  3586.  
  3587.          1.   It should be visible on the screen and when printed.  This allows
  3588.               the SysOp to see where the control sequence is when designing the
  3589.               text files to be used as "smart" text files.
  3590.  
  3591.          2.   It should  not be a  character that might  be used for  any other
  3592.               purpose in the text files.
  3593.  
  3594.          3.   It  should not  be a  character that  might be  interpreted, when
  3595.               printed, as being a printer command (i.e. start double spacing).
  3596.  
  3597.     Some may like to use characters created by simultaneously pressing two keys
  3598.     such as  the  "Ctrl" and  "N"  keys to  create  a character  whose  decimal
  3599.     representation is 14.   Others  may wish  to use such  seldom used,  single
  3600.     keystroke characters as:
  3601.  
  3602.                                 Character   Decimal
  3603.                                              Value
  3604.                                    @          64   
  3605.                                    ^          94
  3606.                                    ~         126
  3607.                                    {         123   <--- Default used by RBBS-PC
  3608.                                    }         125
  3609.                                    |         124
  3610.  
  3611.     CONFIG  parameter  17 can  have  any value  between  0 and  255.   If  0 is
  3612.     selected, RBBS-PC's "smart" text capability will be turned off.
  3613.  
  3614.     A RBBS-PC "smart"  text control sequence consists of  the control character
  3615.     that was selected in CONFIG parameter 17 followed by a "smart" text double-
  3616.     character command.   These "smart"  text double-character commands  MUST be
  3617.     entered as upper  case characters!   There  are two kinds  of "smart"  text
  3618.     variables:    those  that  get  substituted,  and  others  controlling  how
  3619.  
  3620.     RBBS-PC CPC17.3                                                 Page 74
  3621.  
  3622.     substitution is done.  The double-character commands are:
  3623.  
  3624.     COMMAND                 MEANING
  3625.  
  3626.       BD      Displays the bytes downloaded today.
  3627.       CS      Overrides  RBBS-PC's  automatic screen  depth management so  that
  3628.               the next "Press Enter to  Continue" will not come halfway through
  3629.               a page.
  3630.       C0      Resets color to the user's selection for text.
  3631.       C1      Changes color to the user's selection for Foreground Color One.
  3632.       C2      Changes color to the user's selection for Foreground Color Two.
  3633.       C3      Changes color to the user's selection for Foreground Color Three.
  3634.       C4      Changes color to the user's selection for Foreground Color Four.
  3635.       DB      Inserts the total number of bytes ever downloaded by the caller.
  3636.       DD      Inserts the total number of files downloaded by the caller today.
  3637.       DL      Inserts the total number of files ever downloaded by the caller.
  3638.       DT      Inserts the current date, MM-DD-YYYY, into the text file.
  3639.       FI      Inserts File.Name$ into the text file
  3640.       FN      Inserts the user's FIRST NAME (in caps) into the text file.
  3641.       LN      Inserts the user's LAST NAME (in caps) into the text file.
  3642.       NS      This  causes  the rest  of the  current file to  be displayed  in
  3643.               RBBS-PC's  "none  stop"  mode.    Page  breaks  will  be  ignored
  3644.               following a  NS command.
  3645.       PB      Causes  RBBS-PC  page  break message,  "MORE  (Y/N/NS/A)"  or the
  3646.               "PRESS ENTER.." prompt to appear after the line is printed.
  3647.       RP      Inserts the number of days in the registration period.
  3648.       RR      Displays the days remaining in the caller's registration period.
  3649.       SL      Inserts the user's current security level into the text file.
  3650.       TE      Inserts the  user's elapsed  session time (hh:mm)  into the  text
  3651.               file.
  3652.       TM      Inserts the time (hh:mm AM/PM) into the text file.
  3653.       TN      Trim No - substitute as is (the default)
  3654.       TY      Trim Yes - remove leading and trailing spaces first
  3655.               Note:   a setting  for trimming remains  in effect  until another
  3656.               trim command is encountered.
  3657.       TR      Inserts   the number of  minutes left in  the user's session into
  3658.               the text file.
  3659.       UB      Displays the total number of bytes ever uploaded by the user.
  3660.       UL      Displays the total number of file ever uploaded by the user.
  3661.       VN      Overlay No - insert into the text file (the default).
  3662.       VY      Overlay Yes - overlay into the text file (do not change length)
  3663.               Note:   an overlay  setting  remains in  effect until  explicitly
  3664.               replaced.
  3665.  
  3666.     When designing "smart" text files, each SysOp should take into account that
  3667.     the  some  of  the  "smart"  text  commands  (i.e.  the  user's  name)  may
  3668.     significantly extend the length of a line.   It is important that this line
  3669.     elongation  be taken  into  consideration  so that,  when  the actual  text
  3670.     substitution  occurs, the  line  seen  by the  caller  does  not exceed  80
  3671.     characters.
  3672.  
  3673.     What follows is an example of a "smart" text file that demonstrates how all
  3674.     of the above  commands might be used.   The following example  assumes that
  3675.     CONFIG parameter 17 has been set  to the decimal value 123 for the  "smart"
  3676.     text delineation character -- {.
  3677.  
  3678.     RBBS-PC CPC17.3                                                 Page 75
  3679.  
  3680.                            INTRODUCING SMART TEXT!
  3681.  
  3682.          RBBS-PC  allows the SysOp to  customize the text  seen by each caller.
  3683.          For instance,  if the  SysOp wanted to  make sure this  message didn't
  3684.          scroll off the screen, he could pause the display like this:
  3685.          {PB
  3686.  
  3687.          Or, the SysOp may want to show the caller that today's date is {DT and
  3688.          the  time is  {TM.   The  SysOp may  even want  to include  a personal
  3689.          greeting to {FN {LN.
  3690.  
  3691.          The SysOp can  tell the caller  that their security  level is {SL  and
  3692.          that they have been on-line for {TE, and have {TR minutes left in this
  3693.          session.
  3694.  
  3695.     This  kind  of  capability  illustrates  RBBS-PC's on-going  commitment  to
  3696.     nurturing each SysOp's creativity and avoiding the dogmatic.
  3697.  
  3698.     RBBS-PC CPC17.3                                                 Page 76
  3699.  
  3700.     6.10 "Colorizing" the RBBS-PC User Interface
  3701.     --------------------------------------------
  3702.     "Colorization" refers to the utilization of color within RBBS-PC text files
  3703.     and prompts.  RBBS-PC has long supported graphics versions of external text
  3704.     files,  and is  even distributed  with  graphics menus.   RBBS-PC  supports
  3705.     "colorization" as follows:
  3706.  
  3707.      1.) In files shown to the callers including:
  3708.                    All menus,
  3709.                    All bulletins,
  3710.                    The Welcome file,
  3711.                    The file for new users,
  3712.                    All on-line help files,
  3713.                    Standard file directories, and
  3714.                    FMS file directories (see item6).
  3715.  
  3716.      2.) Via highlighted text
  3717.                    in searches of messages,
  3718.                    in searches of files,
  3719.                    in announcing new personal mail waiting,
  3720.                    for locked out users, and
  3721.                    the SysOp user maintenance (function 5).
  3722.  
  3723.     Highlighting  supports   a  limited   but  extremely   functional  use   of
  3724.     colorization - to make  it easy for the caller to spot  significant bits of
  3725.     text on a screen.
  3726.  
  3727.      3.) Within the Programmable user interface (PUI).
  3728.     The PUI file  can have graphics  versions just like text  files.  The  file
  3729.     XMAIN.PUI  that  was  used in  the  example  in section  6.6.2  can  have a
  3730.     graphic's  equivalent  named  XMAING.PUI  and   a  color  equivalent  named
  3731.     XMAINC.PUI.  Color codes can be embedded in the prompts in the PUI as  well
  3732.     as external text files.   Each SysOp has total freedom  to colorize prompts
  3733.     as well as menus.
  3734.  
  3735.      4.) Within text internal to RBBS-PC.
  3736.     This  applies to  standard  (non-PUI)  prompts, such  as  the main  command
  3737.     prompt, and to  formatted reports, like the message scan  and message read.
  3738.     This type of "colorization" is  controlled by whether highlighting has been
  3739.     turned on in CONFIG.
  3740.  
  3741.      5.) Within RBBS-PC's "short" prompts.
  3742.     Caller foreground color  4 is used to mark the commands  the user can type.
  3743.     Emphasis is used to mark the default selection.  This colorization is based
  3744.     on a scan of the text to be printed:
  3745.  
  3746.          [...] : will be highlighted (default answer)
  3747.          xxx)  : will be put in foreground color 4 (text to type in): if xxx
  3748.                  is not longer than 2 characters and is in caps
  3749.          <...> : will be put in foreground color 4 (collective choices) and
  3750.                  if there are words before this, 1st will use foreground 1 and
  3751.                  second foreground 2.
  3752.  
  3753.     RBBS-PC CPC17.3                                                 Page 77
  3754.  
  3755.     "Short"  prompts colorization  applies  to ALL  text  displayed by  RBBS-PC
  3756.     before an answer is expected.  For example, by using the above conventions,
  3757.     questionnaires  can  be   colorized.    This   is  controlled  by   whether
  3758.     highlighting is on.
  3759.  
  3760.      6.) Within FMS file directories.
  3761.     The "colorization" of  the FMS file directories is based on the four colors
  3762.     specified in  CONFIG and  is controlled by  whether or  not the  caller has
  3763.     selected to be in color graphics mode or not.
  3764.  
  3765.     There are two extremes on the use of color -- use none or use everywhere.
  3766.  
  3767.     By using no colorization, RBBS-PC's performance is optimized.  RBBS-PC does
  3768.     not have to go  through the overhead  of  transmitting special instructions
  3769.     to  control  the caller's  screen.   The  two chief  functions of  boards -
  3770.     transmission of textual information and  file exchange - do not essentially
  3771.     involve the  use of color.  Thus "colorization"  is at best dispensable and
  3772.     at worse degrades the performance of these essential functions.
  3773.  
  3774.     Of course,  there are  those who  want their RBBS-PC's  visual displays  to
  3775.     convey as much as the text or the files themselves (i.e. the  message is in
  3776.     the medium).   These are  the SysOps would  elect to use  color everywhere.
  3777.     Color  is largely used  to group related  information on  the screen, where
  3778.     everything has a color.  With the  use of color, plain text begins to  look
  3779.     drab  and uninteresting and attention tends to focus on the colorized text.
  3780.     For this reason, some SysOps find it  difficult to use color in some places
  3781.     and not in others.
  3782.  
  3783.     If  "colorization" is activated everywhere within RBBS-PC, it is imperative
  3784.     that  the PRELOG or  WELCOME file inform  callers to execute  the G)raphics
  3785.     command.  RBBS-PC's default is  to use "colorization" for internal prompts.
  3786.     The G)raphics command ask users:
  3787.  
  3788.               1.)  If they want graphics versions of text files,
  3789.               2.)  Whether the caller wants prompts colorized,
  3790.               3.)  What color the caller wants for normal text, and
  3791.               4.)  Whether normal text should be bold or normal in intensity.
  3792.  
  3793.     To Implement "colorization" within RBBS-PC, run CONFIG  and go to screen 17
  3794.     of the CONFIG parameters -- "RBBS-PC Color Parameters".
  3795.  
  3796.      1.) Use CONFIG's parameter 321 to put in a string for turning EMPHASIS on.
  3797.     The recommendation is a bright foreground on red background ("[27][1;41m").
  3798.  
  3799.      2.) Use CONFIG's parameter 322 to set the string for normal text.  This is
  3800.     the  general  default  color and  is  used  to  turn  off  emphasis.    The
  3801.     recommended color is amber (normal yellow) ("[27][0;33m").
  3802.  
  3803.      3.) Use parameter 323, parameter 324,  parameter 325, and parameter 326 of
  3804.     CONFIG  to  set the  four caller  foreground colors.   CONFIG  uses natural
  3805.     language  phrases to set these, so it is very easy.  The recommendation, in
  3806.     order, is:
  3807.  
  3808.                    bright green,
  3809.                    bright yellow,
  3810.  
  3811.     RBBS-PC CPC17.3                                                 Page 78
  3812.  
  3813.                    bright purple, and
  3814.                    bright cyan.
  3815.  
  3816.     These colors are all used in the message header and general command prompt.
  3817.     Foreground 4 is used to highlight the commands the caller actually needs to
  3818.     type in to select that option.
  3819.  
  3820.     No colors  will be displayed if these parameters  are set to empty strings.
  3821.     Callers can  turn off the colorization  simply by going  into Utilities and
  3822.     T)oggle H)ighlite to  "off".  The default in RBBS-PC is for colorization to
  3823.     be OFF.
  3824.  
  3825.     Colorization  is based  on the ANSI  standard.   Special codes are  sent by
  3826.     RBBS-PC  to the  callers  system, which  must  then be  interpreted  by the
  3827.     caller's communications software.
  3828.  
  3829.     CONFIG lets the SysOp  set the strings to turn  color emphasis on and  off.
  3830.     Inside the PUI  and external text files,  the SysOp must  use an editor  to
  3831.     create graphics files.   There are special graphics  editors, like THEDRAW,
  3832.     or a SysOp who knows the codes to embed can use an ordinary text editor.
  3833.  
  3834.     RBBS-PC CPC17.3                                                 Page 79
  3835.  
  3836.     6.11 RBBS-PC's Automatic Operator Page Option
  3837.     ---------------------------------------------
  3838.     RBBS-PC will "automatically page" the  SysOp whenever a specified caller or
  3839.     group of callers  logs on to RBBS-PC or joins a specific "conference" (i.e.
  3840.     "sub-board").  The selection criteria be  a specific caller's name, a range
  3841.     of security levels, or whether the caller is a new user.   A SysOp may wish
  3842.     to be notified for any number of reasons including:
  3843.  
  3844.          The SysOp wants  to chat with caller  or that caller has  been causing
  3845.          trouble on the bulletin board and needs to be monitored.
  3846.  
  3847.          The SysOp  wants, for  security reasons, to  be notified  when anybody
  3848.          logs on with a SysOp security level.
  3849.  
  3850.          The SysOp wants to chat with a friend but does not want to continually
  3851.          monitor RBBS-PC's activity.
  3852.  
  3853.     Automatic  paging  of the  SysOp  is controlled  by  a file  whose  name is
  3854.     specified in CONFIG parameter 18 (the default name is AUTOPAGE.DEF).   This
  3855.     file contains 4 parameters separated by commas.  The format is
  3856.  
  3857.          <condition>,<notify caller?>,<# of times>,<music>
  3858.  
  3859.          <condition>         Can  be  a  NAME enclosed  in  quotes,  the string
  3860.                              "NEWUSER", or a security  level range specified in
  3861.                              the format
  3862.  
  3863.                                   /<min sec>/<max sec>
  3864.  
  3865.                              where:
  3866.  
  3867.                                   <min sec> is the minimum security level
  3868.                                   <max sec> is the maximum security level
  3869.  
  3870.          <notify caller?>    Is "N" if  the caller is to also  be notified that
  3871.                              the SysOp wants to be automatically paged when the
  3872.                              caller logs on.   Anything  else means the  caller
  3873.                              will  not  know  that  the  SysOp has  been  paged
  3874.                              automatically.
  3875.  
  3876.          <# of times>        Is the number of times that the  PC's speaker will
  3877.                              be sounded.
  3878.  
  3879.          <music>             Is what is  to be played each time  the speaker is
  3880.                              sounded.  If nothing is specified,  a beep will be
  3881.                              used.
  3882.  
  3883.     Warning:   on some PC's the playing of music  produces "out of string space
  3884.     errors".   Test any music before using.   Beeps always work fine.
  3885.  
  3886.     Examples:
  3887.  
  3888.     "SEXY DEVIL",,1,L4EDC    means  to  automatically  page the  SysOp  when  a
  3889.                              caller  named  SEXY DEVIL logs  on, not to  notify
  3890.                              the  caller,  and  to  page  the SysOp  one  time,
  3891.  
  3892.     RBBS-PC CPC17.3                                                 Page 80
  3893.  
  3894.                              playing "L4EDC".
  3895.  
  3896.     "GREGG SNYDER",N,2,      means to  automatically page the  SysOp when GREGG
  3897.                              SNYDER logs on, to notify  the caller, and to beep
  3898.                              the SysOp twice.
  3899.     "NEWUSER",,1,            means to automatically page the SysOp when any new
  3900.                              caller logs on, not  to notify the caller, and  to
  3901.                              page the SysOp once.
  3902.  
  3903.     /10/12,N,2,              means to automatically page the SysOp when  anyone
  3904.                              with security  10 through 12, inclusive,  logs on,
  3905.                              to let  them  know  that the  SysOp  wants  to  be
  3906.                              notified that they  are on, and to  beep the SysOp
  3907.                              twice.
  3908.  
  3909.     The status  line at  the bottom  of the  screen will  read "Autopaged!"  if
  3910.     RBBS-PC has  automatically paged the SysOp.  This  allows the SysOp to know
  3911.     that  the automatic page took  place, even if the  SysOp was not present at
  3912.     the beginning of the call.  The following is a sample AUTOPAGE.DEF:
  3913.  
  3914.               "SEXY DEVIL",,1,L4EDC
  3915.               "GREGG SNYDER",N,2,
  3916.               "NEWUSER",,1,
  3917.               "/10/12",N,3,
  3918.  
  3919.     If more than one condition will trigger the automatic paging of  the SysOp,
  3920.     the first condition encountered will be used.
  3921.  
  3922.     Since  the AUTOPAGE.DEF  file can  be different  for each  "sub-board", the
  3923.     SysOp has the option to be automatically paged based on different criteria
  3924.     for each "sub-board".
  3925.  
  3926.     RBBS-PC CPC17.3                                                 Page 81
  3927.  
  3928.     6.12 Enhancing the File Verbose List
  3929.     ------------------------------------
  3930.     Within the  File Subsystem of  RBBS-PC the V)erbose List,  sometimes called
  3931.     View  function,  allows  the caller  to  get  a  list  of  files  that  are
  3932.     "libraried" inside a  single file.  RBBS-PC not only  supports the commonly
  3933.     used PKWare "zip" format, but also "arc", "pak", and "lzh", and well as ANY
  3934.     library format using SysOp-installed external procedures.
  3935.  
  3936.     RBBS-PC  assumes  that  the  file  extension  will  identify  the  type  of
  3937.     compression.  Hence, all files with "ARC", "PAK", or "ZOO" have a different
  3938.     but  common compression function.   RBBS-PC continues  its internal support
  3939.     for ARC  and ZIP  files.   However, the SysOp  can install  a Verbose  List
  3940.     function for files with  extension "xyz".  All  the SysOp must do is  put a
  3941.     .BAT file with the name "Vxyz.BAT" on the same disk and  path specified for
  3942.     COMMAND.COM via CONFIG parameter  105.  If such a file  is present, RBBS-PC
  3943.     will shell to the file whenever a caller asks for a V>erbose listing of any
  3944.     file with the extension "xyz".  SHELLing  requires EXTRA memory beyond what
  3945.     RBBS-PC uses.   If your system  has little or  no free memory,  you may  be
  3946.     limited to using the internal V>erbose list feature of RBBS-PC.
  3947.  
  3948.     RBBS-PC includes the following files for external verbose list:
  3949.  
  3950.          ARCVIEW.COM    Compiled C program for verbose  list of DWC, PAK,  ZOO,
  3951.                         and ARC files.  Used in VDWC.BAT, VZOO.BAT.
  3952.  
  3953.          VDWC.BAT       Processor for DWC files
  3954.          VZOO.BAT       Processor for ZOO files
  3955.  
  3956.     Each BAT file contains in it:
  3957.  
  3958.          ARCVIEW [1] > [2]
  3959.  
  3960.     RBBS-PC will SHELL to the  above program (not to the BAT file)  after first
  3961.     substituting the name of  the file to be  listed for "[1]" and the  name of
  3962.     the file  containing the results of the listing for  "[2]".  The ">" simply
  3963.     redirects the listing that would normally go to the screen to "[2]".
  3964.  
  3965.     RBBS-PC always expects the  results of the verbose list to be  written to a
  3966.     file named "NODExWRK" when x is the node id (1,2,3,...).
  3967.  
  3968.     How to Implement Your Own Verbose List
  3969.     --------------------------------------
  3970.  
  3971.     Your verbose list program must have a way to receive from RBBS
  3972.  
  3973.          o    the name of the file to list
  3974.  
  3975.          o    the name of the file to write the listing to.
  3976.  
  3977.     RBBS will interface with  your program in two different ways,  depending on
  3978.     how many lines your BAT file contains.
  3979.  
  3980.     If the BAT file contains exactly 1 line, RBBS will shell to the line in the
  3981.     BAT file and not  the BAT file.  RBBS  will dynamically scan for "[1]"  and
  3982.     "[2]" in the line and substitute the names of the file to be listed and the
  3983.  
  3984.     RBBS-PC CPC17.3                                                 Page 82
  3985.  
  3986.     file to write the results to,  respectively.  Everything else will be  left
  3987.     intact.
  3988.  
  3989.     If the  BAT file contains more  than one line,  RBBS will shell to  the BAT
  3990.     file,  passing on the command line first the  name of the file to list, and
  3991.     second the name of the results file.
  3992.  
  3993.     For example, the following BAT file could be used:
  3994.  
  3995.                ECHO OFF
  3996.                ARCVIEW %1 > %2
  3997.                ECHO ON
  3998.  
  3999.     Remember, inside  a BAT  file  you can  do any  processing you  want.   For
  4000.     example, if you want to keep a log called VIEW.LOG of the names of
  4001.     all files viewed, you could have
  4002.  
  4003.                ECHO %1 >> VIEW.LOG
  4004.                ARCVIEW %1 > %2
  4005.  
  4006.     The ">>" means to redirect the standard output to file VIEW.LOG but appends
  4007.     rather than replaces.
  4008.  
  4009.     Using ZIPTV
  4010.     -----------
  4011.  
  4012.     Ziptv is a program  distributed by Samuel H. Smith which  supports not only
  4013.     verbose list,  but the ability to list any file  inside of a ZIP file, thus
  4014.     allowing users  to view documentation  before downloading  a file.     Many
  4015.     SysOps will  want to  install ZIPTV to  replace the  internal RBBS  verbose
  4016.     list.  Simply make sure ZIPTV.EXE is either in the current directory or the
  4017.     path, and put VZIP.BAT  where config says that COMMAND.COM is, and VZIP.BAT
  4018.     contains
  4019.  
  4020.     del %2
  4021.     ZIPTV -P%3 %1
  4022.  
  4023.     RBBS-PC CPC17.3                                                 Page 83
  4024.  
  4025.     6.13  Bulletins and News
  4026.     ------------------------
  4027.     RBBS-PC has  very powerful  and flexible  features for broadcasting  system
  4028.     wide information to callers.  The main options are to send information
  4029.  
  4030.          o    every time the caller logs on.
  4031.  
  4032.     The  text file PRELOG  is displayed before  callers are asked  their names.
  4033.     This information should be kept very brief.
  4034.  
  4035.          o    only to the new user.
  4036.  
  4037.     The text file NEWUSER is to new users only on the first time they log on.
  4038.  
  4039.          o    every time, after the caller logs on.
  4040.  
  4041.     The text file WELCOME is displayed after a successful logon.
  4042.  
  4043.          o    if the information has been updated since the caller last was  on
  4044.               the board
  4045.  
  4046.     The NEWS  file is  displayed if  the date  of last log  on is  the same  or
  4047.     earlier than  the date of the  news file.  The  news file should be  in the
  4048.     same drive/path as  the welcome file  for the conference.   For  conference
  4049.     XYZ, the news file name is XYZ.NWS.  You can have graphics versions of  the
  4050.     news.  The name of the news file for the main board is MAIN.NWS, unless you
  4051.     rename your main message and user files  to ABCM.DEF and ABCU.DEF, in which
  4052.     case the news  file is ABC.NWS.  The  news file is a  special bulletin, and
  4053.     can be read by using the "b n" command (bulletin news).
  4054.  
  4055.          o    every time the caller logs off.
  4056.  
  4057.     This  type of  bulletin  is handled  with a  log  off questionnaire,  whose
  4058.     default name is EPILOG.DEF.  See section 18.
  4059.  
  4060.          o    general bulletins.
  4061.  
  4062.     RBBS-PC supports having general system bulletins.  One advantage of general
  4063.     bulletins is that RBBS-PC will compare the last date logged on for the user
  4064.     to general  bulletins, inform the  caller on logon  of which  bulletins are
  4065.     news, and give the  caller the option to  read the new bulletins.   You can
  4066.     control the bulletins that  are scanned for being new by  listing them, one
  4067.     on a line,  in the file <bulletin  prefix>.FCK.  Suppose, for  example, you
  4068.     have 50  bulletins but only want 1-10 checked,  and BULLET is your bulletin
  4069.     prefix.  Then file BULLET.FCK should have in it
  4070.  
  4071.                           1
  4072.                           2
  4073.                           3
  4074.                           ...
  4075.                           10
  4076.  
  4077.     If  there is not "FCK" file, then RBBS  will search the number of bulletins
  4078.     listed as existing in config (e.g. BULLET1, BULLET2, ...., BULLETn).
  4079.  
  4080.     RBBS-PC CPC17.3                                                 Page 84
  4081.  
  4082.     RBBS-PC supports having not only  numbered, but named bulletins.  The  word
  4083.     the user types in is just appended to the bulletin prefix and checked.  So,
  4084.     if the  prefix is BT,  the file  BTACE would  be requested by  the user  by
  4085.     typing "ACE".  Named bulletins must  be in the controlling file check  file
  4086.     in order to be included in the logon search for new bulletins.
  4087.  
  4088.     Bulletins  also fully  support sub-menus.    See section  6.7 for  details.
  4089.     There are  some fine SysOp  utilities for creating and  managing bulletins,
  4090.     especially for news,  such as FLASH.   These allow full screen  editing and
  4091.     automatically generate graphics and non-graphics versions of the files.
  4092.  
  4093.     RBBS-PC CPC17.3                                                 Page 85
  4094.  
  4095.     7.  UNIQUELY IDENTIFYING YOUR CALLERS
  4096.     -------------------------------------
  4097.     All callers need a way to identify themselves and to re-identify themselves
  4098.     on subsequent calls  so that they can, for example, read the mail addressed
  4099.     to them.   RBBS-PC  expects each  caller to  set a  password so that  other
  4100.     callers cannot easily pretend  to be that caller.  Callers  are most easily
  4101.     known on  bulletin boards the same way they are  known in real life - which
  4102.     is usually by first  and last name.  This is  why the default configuration
  4103.     in RBBS-PC uses first and last name to IDENTIFY users.  The first/last name
  4104.     is the caller's identity or ID.
  4105.  
  4106.     RBBS-PC also  allows the  SysOp to identify  callers uniquely  by something
  4107.     other than their first and last names.   Perhaps the SysOp wants a one word
  4108.     alias like AVENGER to be allowed or perhaps callers must use  a preassigned
  4109.     access code (access code, employee  number, account number, etc.).  RBBS-PC
  4110.     allows  ANY FIELD  inside the  users file  to be  used for  identification.
  4111.     Since there are  empty, unused  areas in the  user file,  a SysOp can  even
  4112.     CREATE A NEW FIELD to be used for caller identification.
  4113.  
  4114.     When anything  other than  name is  used to identify  users, RBBS-PC  still
  4115.     wants  callers  to  specify  their  names.    It just  does  not  use  that
  4116.     information to identify them.
  4117.  
  4118.     A fairly common problem on bulletin board  systems with large user lists is
  4119.     that two callers can have the same first and last name.  A caller discovers
  4120.     this when they are unexpectedly asked for a password on the first call to a
  4121.     new  system, indicating  that another  caller has  already used  that name.
  4122.     Further,  since  RBBS-PC  is  used  world-wide  many  non-English  speaking
  4123.     countries  (i.e. in Europe, South America,  the Far East) have callers with
  4124.     names that have  embedded blanks, etc.  RBBS-PC  alleviates this problem by
  4125.     allowing interior  blanks in  first and  last names.   Thus  JIM JONES  can
  4126.     register as JIM K JONES or JIM JONES SR or JIM JONES III.
  4127.  
  4128.     By  allowing ANY  field  inside the  user  record to  be  used to  uniquely
  4129.     identify individual callers, RBBS-PC alleviates the basic problem of having
  4130.     two callers with the same name.
  4131.  
  4132.     This additional INDIVIDUATION field is used to distinguish callers with the
  4133.     same ID.  The way this works is that callers will have  to specify both the
  4134.     identifying and  individuation field and  both are used to  match record in
  4135.     the users  file.   This individuation  field can  likewise be  a new  field
  4136.     created by the SysOp.   For example, the SysOp can specify  that callers be
  4137.     uniquely identified by both their name and their CITY/STATE.  Alternatively
  4138.     the SysOp  can specify that callers are to  be uniquely identified by their
  4139.     telephone number, which would be a new field for RBBS-PC to store.
  4140.  
  4141.     RBBS-PC CPC17.3                                                 Page 86
  4142.  
  4143.     7.1  Setting Up Identifying and Individuation Fields
  4144.     ----------------------------------------------------
  4145.     The  identifying  and individuation  fields  in RBBS-PC  are  controlled by
  4146.     parameter 41, parameter  42, parameter 43, parameter 44,  parameter 45, and
  4147.     parameter 46 in CONFIG.   The default is to use the caller's first and last
  4148.     name to uniquely identify a user. 
  4149.  
  4150.     The fields available to uniquely identify a caller (other than the caller's
  4151.     first and last name) are designated in CONFIG by  the starting  position in
  4152.     the users file and length.   It is essential therefore to understand  WHERE
  4153.     FIELDS ARE STORED IN THE  USER FILE.  Consult  Appendix A for the  detailed
  4154.     layout of the user file.
  4155.  
  4156.     RBBS-PC's flexibility requires caution to  be exercised when selecting  the
  4157.     locations of fields  used to identify and individuate,  because options can
  4158.     be selected that make no sense.  For example, it is possible to specify the
  4159.     user  preference  field,  which  means  that  every  time  a  user  changed
  4160.     preferences, such  as default protocol,  the user would become  a different
  4161.     user.
  4162.  
  4163.     There are only two fields in the  user file that make sense for identifying
  4164.     users:
  4165.  
  4166.         1.    first/last name (column positions 1-31), or
  4167.         2.    a field designated by  you as the SysOp for your RBBS-PC.   For a
  4168.               SysOp-designated field, only 4 choices make sense:
  4169.               a.)  none,
  4170.               b.)  name (columns 1-31),
  4171.               c.)  city/state (columns 63-86), or
  4172.               d.)  positions 87-97 in the user record currently "unused."
  4173.  
  4174.     Positions 87-97 of the  users file currently unused provides a potential 11
  4175.     columns to use for special, SysOp designated  fields.  However, there is no
  4176.     guarantee that these  positions will not be used in later releases of RBBS-
  4177.     PC.   Additional  fields will  be  used from  the  far right.    Any  SysOp
  4178.     intending  to utilize this area of the  users record is safest if the field
  4179.     selected begins in column  87 and is as short as possible.   The shorter it
  4180.     is, the more likely there will be room in later  releases.  For example, 11
  4181.     columns might be  used for  telephone number  (format 123-1234567).   Or  5
  4182.     columns might be used for account number.
  4183.  
  4184.     When a special field is  created, the SysOp must also supply  the prompt to
  4185.     be used with the field, since RBBS-PC has no way of knowing how to describe
  4186.     the field to a caller.  The prompt  is what is displayed to the caller when
  4187.     asking for the value of the field.
  4188.  
  4189.     RBBS-PC uses the callers first and last name for the "to" and "from" fields
  4190.     for  messages even when  the users name  is not the  field used to uniquely
  4191.     identify callers.
  4192.  
  4193.     RBBS-PC CPC17.3                                                 Page 87
  4194.  
  4195.     7.2  Preloading Identities For Instant Access
  4196.     ---------------------------------------------
  4197.     SysOps that operate  bulletin boards that are  open to new callers  have no
  4198.     problems giving a new caller instant  access --  new callers register,  set
  4199.     their identity and password, and are immediately on.
  4200.  
  4201.     SysOps  that  operate     bulletin  boards  that  are   only  available  by
  4202.     subscription or  who  delay access  operate  differently --    a user  must
  4203.     already know  and be able to state identity, individuation, and password in
  4204.     order to get  on.  To add  a new user, the  values of these fields  must be
  4205.     communicated  back to the  caller in  order for  them to  have access.   To
  4206.     overcome this cumbersome  approach, some SysOps allow new  callers on their
  4207.     system (albeit at a security level so low that the caller can do little, if
  4208.     anything) and simply raise the security level of the caller once the caller
  4209.     has met whatever criteria the SysOp has set for access to the system.
  4210.  
  4211.     Typically new callers must call back and continue to check to see if  their
  4212.     security level has  been raised.  Systems  that do not  let new callers  on
  4213.     require the SysOp  to enter the appropriate information  for each new user,
  4214.     contact the new caller  by mail or phone, and let them know  how to get on.
  4215.     Both  approaches  introduce  delays  to  new callers  for  getting  on  and
  4216.     additional time, expense and overhead for the SysOp.
  4217.  
  4218.     RBBS-PC provides a systematic solution to the problem of delayed access for
  4219.     new user!  A SysOp can add a user WITH NO VALUE FOR THE INDIVIDUATION FIELD
  4220.     OR PASSWORD.  These fields can be left blank.  When a caller logs on with a
  4221.     proper ID  and RBBS-PC  finds an  individuation value  or password  that is
  4222.     blank, it lets the caller set the value of those fields without requiring a
  4223.     match.  Subsequent calls, but  not the first, must match the  value set for
  4224.     individuation and password.
  4225.  
  4226.     Even though a SysOp can add a user and leave the password and individuation
  4227.     blank, this still requires  that the SysOp add the user only after an ID is
  4228.     agreed to by both parties.   What if this access is still  not fast enough?
  4229.     The  solution provided by  RBBS-PC is for  the SysOp to  "pre-load" IDs and
  4230.     give  out a pre-loaded  ID to the  caller for  instant access, so  that the
  4231.     client does not have to wait even for the SysOp to add the ID.  Since there
  4232.     is no way  to set in advance how  a user wants to be  identified, the SysOp
  4233.     can set up essentially random account IDs  which are difficult to guess and
  4234.     give these out.
  4235.  
  4236.     Callers willing  to charge subscription fees on their credit cards over the
  4237.     telephone can  be given  a valid  pre-loaded ID  for instant  access.   The
  4238.     ability of RBBS-PC to  use any field for an ID, and let  the first call set
  4239.     individuation and password,  means that  RBBS-PC can  support boards  where
  4240.     instant access is a critical part of their service.
  4241.  
  4242.     RBBS-PC CPC17.3                                                 Page 88
  4243.  
  4244.     8. RBBS-PC's AUTOMATIC SUBSCRIPTION/ TIME MANAGEMENT
  4245.     -----------------------------------------------------
  4246.     RBBS-PC has support built into it for managing  access based on the date of
  4247.     the call  and the time of  day.  As  with the other RBBS-PC  features, this
  4248.     support is optional.  The primary uses of this facility are
  4249.  
  4250.          1.   to  make it  very easy  to control  access based  on subscription
  4251.               dates.
  4252.          2.   to give callers a temporary, date limited boost in privileges.
  4253.          3.   to vary  the amount of time  that a call  can have for  a session
  4254.               based on the time of day.
  4255.  
  4256.     The subscription management system dramatically  reduces the work necessary
  4257.     for subscription  maintenance.   After a user  is registered,  RBBS-PC will
  4258.     AUTOMATICALLY
  4259.  
  4260.          1.   warn users before their subscription expires
  4261.          2.   reduce the security of callers whose subscription has expired.
  4262.  
  4263.     In effect,  a subscription RBBS-PC can be left  on "automatic" pilot and it
  4264.     will operate correctly, without additional effort on the SysOp's part.
  4265.  
  4266.     The SysOp  cansend a special message with the  warning by creating the file
  4267.     RGXPIRE.HLP in with the other  help files.    The file RGXPIRD.HLP will  be
  4268.     displayed when the subscription expires.
  4269.  
  4270.     The  subscription and  time management  system can  also be  used to  grant
  4271.     callers a temporary boost in privileges.  For example, giving new callers a
  4272.     "free" trial period.
  4273.  
  4274.     Just as cable  TV channels that sometimes  have a free  week of viewing  to
  4275.     attract new subscribers by letting them know what they are missing, a SysOp
  4276.     of a subscription RBBS-PC can  set up limited free offers. By setting  up a
  4277.     default subscription period of say, 5 days, all new callers can be let onto
  4278.     to see  whether they want to subscribe.  After  5 days, security drops back
  4279.     down to  a more limited level.   This "free" period can be  made a standing
  4280.     offer, or  turned off after a two  week period.  Or, a  user who requests a
  4281.     trial period can be individually added with a short subscription period.
  4282.  
  4283.     Limited trial  subscriptions also are  an attractive alternative  for those
  4284.     SysOps that do not give full privileges until after a caller is verified or
  4285.     checked out.   These callers are  either asked to  fill out a  registration
  4286.     form or leave a comment, then  sometime later the SysOp decides whether  to
  4287.     increase  the  security  level.    By   letting  new  users  have  a  short
  4288.     registration period with higher privileges, say 3 days,  a SysOp may choose
  4289.     to give new callers immediate access and minimize the pressure to check the
  4290.     new caller out as soon as possible.   The SysOp need do nothing if a caller
  4291.     cannot be verified.  Those that check out get their security raised.   This
  4292.     way the many honest  new users are not penalized but the prank or dishonest
  4293.     callers can get on only briefly.
  4294.  
  4295.     RBBS-PC CPC17.3                                                 Page 89
  4296.  
  4297.     8.1 Setting It Up
  4298.     ------------------
  4299.     The  subscription management system is turned on by specifying in CONFIG to
  4300.     limit callers by  subscription date.  After  access is so  limited, RBBS-PC
  4301.     automatically records the date of the first call.  For old users, this will
  4302.     be the first call  made since the subscription date began  to limit access.
  4303.     This recorded  date is the base registration date.  The SysOp then needs to
  4304.     specify in CONFIG:
  4305.  
  4306.          1.   A  default subscription  period (the  number of  days a  new user
  4307.               gets).
  4308.  
  4309.          2.   A  warning period  (which  determines when  callers  will get  an
  4310.               advance warning that their subscription  is about to expire.  The
  4311.               warning period  is the  number of days  left needed to  trigger a
  4312.               warning.)
  4313.  
  4314.          3.   The security level expired subscribers get.
  4315.  
  4316.     In the PASSWRDS  file, the SysOp designates different  subscription periods
  4317.     for each  security level  (other than  the default  security level).   This
  4318.     needs to be  specified only if a  subscription period is desired  that will
  4319.     override the default.
  4320.  
  4321.     RBBS-PC  determines  when  the  subscription  will  expire  by  adding  the
  4322.     subscription period to  the base registration date.   Persons calling after
  4323.     this expiration date are  bumped down to the expired security  level set by
  4324.     the SysOp in CONFIG.
  4325.  
  4326.     The time management of RBBS-PC is automatically activated when the presence
  4327.     of  the  PASSWRDS  file is  detected.    See section  14.3  for  a complete
  4328.     description of the PASSWRDS file.
  4329.  
  4330.     RBBS-PC CPC17.3                                                 Page 90
  4331.  
  4332.     9. USING THE "CONFIG" UTILITY TO CONFIGURE RBBS-PC
  4333.     ---------------------------------------------------
  4334.     The RBBS-PC.DEF file  is created   by the CONFIG  program and contains  the
  4335.     program's  default  operating   parameters  and values.   When you run  the
  4336.     CONFIG program  to  create RBBS-PC.DEF or to update it, you can change many
  4337.     of   these    parameters   to meet  your needs.   Certain  parameters which
  4338.     control   critical  operations  of the programs are embedded in the RBBS-PC
  4339.     program and should not   normally be changed by the  system operator.  When
  4340.     setting RBBS-PC is set up for the  first time, SysOps are urged to take the
  4341.     default values  generated by  CONFIG except for  those parameters  that are
  4342.     unique to their configuration (i.e. the communication port, etc.).
  4343.  
  4344.     CONFIG is divided into many screens.  They are:
  4345.  
  4346.          Screen         Description
  4347.  
  4348.             1           Global RBBS-PC Parameters (Part 1 of 3)
  4349.             2           Global RBBS-PC Parameters (Part 2 of 3)
  4350.             3           Global RBBS-PC Parameters (Part 3 of 3)
  4351.             4           RBBS-PC System Files (part 1)
  4352.             5           RBBS-PC System Files (part 2)
  4353.             6           Parameters for RBBS-PC "doors"
  4354.             7           Parameters for RBBS-PC Security (part 1)
  4355.             8           Parameters for RBBS-PC Security (part 2)
  4356.             9           Parameters for Multiple RBBS-PC's and "conferences"
  4357.            10           RBBS-PC Utilities
  4358.            11           Parameters for RBBS-PC's File Management System
  4359.            12           RBBS-PC Communications Parameters (part 1)
  4360.            13           RBBS-PC Communications Parameters (part 2)
  4361.            14           RBBS-PC Net Mail
  4362.            15           New users parameters
  4363.            16           Use of the Library Sub-System
  4364.            17           RBBS-PC Color parameters
  4365.            18           Reserved for future use
  4366.  
  4367.     The user  may  scroll  forward  or  backward  through  the  17  screens  of
  4368.     parameters  in  CONFIG  using  the  PgUp and  PgDn  keys  on  the keyboard.
  4369.     Additionally  users may  go directly  to a  specific screen  by pressing  a
  4370.     function key (F1 through F10) or SHIFT and a function key (shift/F1 through
  4371.     Shift F7) corresponding to the page  to be selected.  To terminate  CONFIG,
  4372.     users need only press the "End" key on the keyboard.
  4373.  
  4374.     The compiled version of CONFIG can be invoked with the command:
  4375.  
  4376.              CONFIG  <config file>
  4377.  
  4378.     The <config  file> is  an optional  name of  the configuration  file to  be
  4379.     created or edited.   This assumes that  CONFIG.EXE, is on the  default disk
  4380.     drive.    The  CONFIG  utility  will write  the  RBBS-PC  definition  file,
  4381.     RBBSxPC.DEF to the default drive.
  4382.  
  4383.     RBBS-PC CPC17.3                                                 Page 91
  4384.  
  4385.     9.1 Global RBBS-PC Parameters (Part 1 of 3)
  4386.     --------------------------------------------
  4387.  
  4388.     Parameters 1 and 2
  4389.  
  4390.     Parameter 1 and parameter 2  request  the RBBS-PC system operator's (SysOp)
  4391.     name.  Here is where you  store the "public" name of the SysOp.   This name
  4392.     is used by RBBS-PC  (for instance, when you bring a  caller into "chat", it
  4393.     greets him using this name).  NO ONE may log in to  your RBBS-PC using this
  4394.     name.   Even the SysOp must use  a "SysOp Pseudonym", specified later.  The
  4395.     SysOp's name can be either a real name such as "Tom Mack" or an  impersonal
  4396.     identifier such as "Physics Department."
  4397.  
  4398.     Parameter 3
  4399.  
  4400.     The SysOp's default sign-on mode  is set to either EXPERT or  NOVICE.  Once
  4401.     you're  comfortable with  the RBBS-PC  command structure,  you may  want to
  4402.     adjust this to EXPERT.
  4403.  
  4404.     Parameter 4
  4405.  
  4406.     Parameter 4 allows the SysOp to set the "office  hours", or when a user can
  4407.     page the SysOp.   If a caller attempts to page you  outside these hours, he
  4408.     will be told you are not available, and RBBS-PC will  suggest that he try a
  4409.     MSG or a COMMENT.   The times are set using a  24-hour military clock (i.e.
  4410.     10:00 P.M.  is 2200 hours).   The SysOp can  disable a caller's  ability to
  4411.     page  him COMPLETELY  by  pressing the  function key  F4  while RBBS-PC  is
  4412.     running.  F4 toggles the SysOp page status off and on.
  4413.  
  4414.     Parameter 5
  4415.  
  4416.     Because the bell on an attached printer is often louder  than the one built
  4417.     into the  PC, the SysOp can  elect to have the printer's  bell used, rather
  4418.     than "beeping" the PC's speaker.  Parameter 5 changes this setting.
  4419.  
  4420.     Parameter 6
  4421.  
  4422.     Parameter  6  gives the  SysOp  the  option  of  electing to  have  RBBS-PC
  4423.     automatically take itself off-line  if a "disk full" condition occurs.   In
  4424.     some instances,  such as having  a small disk  volume for uploads,  you may
  4425.     want your  RBBS-PC system to remain online, even  though it is getting disk
  4426.     space full errors.
  4427.  
  4428.     Parameter 7
  4429.  
  4430.     This controls the default setting for  the "prompt bell".  The prompt  bell
  4431.     refers to a preference some callers have of getting a short "beep" from the
  4432.     system, whenever it pauses  for input at a  prompt.  When this is  on, both
  4433.     the remote user and the local SysOp will hear the prompt bell when input is
  4434.     required from the remote user, unless and until this option is changed with
  4435.     the Toggle command on the Utility menu.
  4436.  
  4437.     Parameter 8
  4438.  
  4439.     This parameter is asking for the maximum amount  of time each user is to be
  4440.  
  4441.     RBBS-PC CPC17.3                                                 Page 92
  4442.  
  4443.     allowed on the system per  session (the "session" refers to any  individual
  4444.     call to the bulletin board).  Set the number of minutes to whatever you are
  4445.     comfortable with.  You may  have to lower this number, once  your number of
  4446.     callers  increases, in  order to  keep callers'  waiting times  reasonable.
  4447.     This can also be made equal to the maximum time on the system each day.  As
  4448.     described elsewhere, each security  level can have its own maximum  time on
  4449.     the system per session specified  and it can vary according to the  time of
  4450.     day that the user logs on.
  4451.  
  4452.     A SysOp   may limit  the maximum amount of  time any user  with the default
  4453.     security level  can spend  on your   system   each day  via parameter  9 of
  4454.     CONFIG.  This is helpful   if  you  have  a   relatively  busy  RBBS-PC and
  4455.     want to  have as   diversified   group   of   callers as  possible.   Every
  4456.     security level can have a different maximum time on the system  per day and
  4457.     it may vary  based on the  time of day  that the user logs  on.  These  are
  4458.     specified in the PASSWRDS file.
  4459.  
  4460.     RBBS-PC keeps  track of the total amount of elapsed time a user is on RBBS-
  4461.     PC each day.  Each  time a caller  logs on, the maximum amount of time that
  4462.     they are allowed  on the system   is checked against this  daily cumulative
  4463.     total.  The  time remaining in  each  caller's  session is the  difference.
  4464.     When  a caller exceeds  this maximum and tries   to log  on again, they are
  4465.     told that they  have exceeded the allocated  time for that  day  and to try
  4466.     again tomorrow.
  4467.  
  4468.     Parameter 10 allows  a SysOp to "reward"  users who upload files  by adding
  4469.     some multiple  of the  elapsed  time it  took for  the file  upload to  the
  4470.     current session time.   This should be  used judiciously as some  users may
  4471.     abuse  this by repeatedly  uploading COMMAND.COM or  some other meaningless
  4472.     file.   This  extends both  the  users current  session and  other sessions
  4473.     during  the same  day,  but NOT  the  time on  future days.    However when
  4474.     specifying  this parameter, the SysOp will be  asked if upload time credits
  4475.     are to accumulate indefinitely  until they are used.  If  the SysOp replies
  4476.     "NO", the upload time credits endure only  for the day in which the uploads
  4477.     are made.
  4478.  
  4479.     Parameter 11 sets the number of  months inactivity that must elapse  before
  4480.     a  user is deleted from the  USERS file when the SysOp "rebuilds" the  user
  4481.     file.
  4482.  
  4483.     Parameter 12 allows the SysOp to specify the name of the RBBS-PC that is to
  4484.     be  displayed  when a  user first  connects  with the  system and  prior to
  4485.     completing the logon process.
  4486.  
  4487.     Parameter 13, parameter 14, and parameter 15 allow the SysOp to specify the
  4488.     colors  desired    for  the  foreground,  background,  and  border.    When
  4489.     specifying these options   the BASIC manual's section  describing the COLOR
  4490.     command in text mode  should  be   consulted.  This is useful  when running
  4491.     multiple RBBS-PC's and you want a  handy way of determine which RBBS-PC  it
  4492.     is that you are viewing  on the screen.  This  option   is NOT available if
  4493.     the SysOp has specified a "ring-back" system.
  4494.  
  4495.     Parameter  16 control  whether  RBBS-PC  will use  ANSI  codes for  special
  4496.     effects like blinking on the local PC's screen.
  4497.  
  4498.     RBBS-PC CPC17.3                                                 Page 93
  4499.  
  4500.     Parameter  17 designates the decimal value ( 0  to 255) of the character to
  4501.     be used for personalizing the text files  displayed to the caller.  If 0 is
  4502.     selected, no text files will  be personalized.  See section 6.9  for a more
  4503.     detailed discussion of how to personalize RBBS-PC text files.
  4504.  
  4505.     Parameter 18 allows  the SysOp to specify  the file name that  contains the
  4506.     information to  control the "automatic"  RBBS-PC paging of the  SysOp.  See
  4507.     section  6.11  for  a  detailed  description  of  the  file  format  and  a
  4508.     description of RBBS-PC "auto-page" feature.
  4509.  
  4510.     Parameter 19  lets the  SysOp determine  the level  of detail  to use  when
  4511.     notifying callers of  electronic message.  See  section 19 to get  a better
  4512.     understanding of the full flexibility of mail waiting notification that has
  4513.     been built into RBBS-PC.
  4514.  
  4515.     RBBS-PC CPC17.3                                                 Page 94
  4516.  
  4517.     9.2 Global RBBS-PC Parameters (Part 2 of 3)
  4518.     --------------------------------------------
  4519.     Parameter 21 allows  the SysOp to  remind users not only  of the   messages
  4520.     that might   be for them but  also messages that they may  have left.  This
  4521.     should  be enough of a nuisance to  insure that users do delete some of the
  4522.     messages they have left and help to keep the MESSAGES file to a minimum.
  4523.  
  4524.     Parameter  22 allows the SysOp to elect to remind users of how  many  files
  4525.     they have downloaded and uploaded.
  4526.  
  4527.     Parameter 23 allows a  SysOp to remind users every time they  log on of the
  4528.     preferences they have  selected for such things as  file transfer protocol,
  4529.     graphics, nulls, etc.
  4530.  
  4531.     Parameter 24 allows  users to download files immediately upon logging on to
  4532.     RBBS-PC.   Parameter 24 is only  meaningful if the RBBS-PC  File Management
  4533.     System (FMS) has  been enabled via  parameter 214.  RBBS-PC will scan  this
  4534.     file for the latest uploads.  When a caller logs on, RBBS-PC will determine
  4535.     how many  files are new since the caller last logged on, up to a maximum of
  4536.     23.    By  setting parameter  218,  the  caller is  offered  the  chance to
  4537.     immediately  review these  new files  for  downloading, if  the caller  has
  4538.     sufficient  security to  download.   This happens  before the  bulletins or
  4539.     messages are reviewed.  RBBS-PC's that emphasize software exchange may want
  4540.     to enable this option, others may not  want to give the caller a chance  to
  4541.     download  the  new files  until  after  bulletins  and messages  have  been
  4542.     reviewed.
  4543.  
  4544.     Parameter  25 allows the SysOp to establish a default page length for users
  4545.     when they log on.  A 23 line page  length is the default, but the SysOp can
  4546.     set   it  to any  number between 0 and  255.  If set  to 0, the user   will
  4547.     receive continuously scrolling output.
  4548.  
  4549.     Parameter 26 allows the  SysOp to specify (within the range of 1 to 99) the
  4550.     maximum number of lines allowed in each message.
  4551.  
  4552.     Parameter  27  allows   the  SysOp  to  make  the   system  "welcome"  file
  4553.     interruptible.  The default is that  YES it is interruptible.  However,  if
  4554.     the SysOp feels too many people are bypassing it and it contains  essential
  4555.     information, the SysOp can set this parameter  to NO (i.e. the user can not
  4556.     suspend or cancel the  listing of this file at their terminal with a CTRL S
  4557.     or  CTRL K).
  4558.  
  4559.     Parameter  28  is  intended to allow the  SysOp to indicate if  the  system
  4560.     bulletins are to be optional for users  when they log on.  If bulletins are
  4561.     optional, callers  can elect to  automatically bypass old bulletins  and be
  4562.     notified only when  there are new bulletins.   RBBS-PC will check  the file
  4563.     date of the bulletins and inform the  caller which are new, with the option
  4564.     to read all  of the  new bulletins.   If none  are new  when bulletins  are
  4565.     optional, the bulletins will be automatically bypassed.
  4566.  
  4567.     Parameter  29 is designed to allow  RBBS-PC to run on some "IBM-compatible"
  4568.     PC's that  make use of   unused  interrupts or  on the IBM  PCjr.   RBBS-PC
  4569.     checks to see if the unused interrupt X'7F' is non-zero.  If it is, RBBS-PC
  4570.     thinks that the software product,  MultiLink (from The Software Link, Inc.)
  4571.     is present and  issues the appropriate MultiLink calls.   Obviously if this
  4572.  
  4573.     RBBS-PC CPC17.3                                                 Page 95
  4574.  
  4575.     is  not the case,  strange and unpredictable things  happen which result in
  4576.     RBBS-PC not working.  The COMPAQ+ is an example of this syndrome.
  4577.  
  4578.     If running RBBS-PC on  an IBM PCjr using an  external modem but without  an
  4579.     internal modem, the communications port must  be opened as COM1 even though
  4580.     RBBS-PC   must  use   the  COM2  RS-232   registers  for   controlling  the
  4581.     communications port.
  4582.  
  4583.     Parameter 30,  parameter 31, parameter  32, parameter 33, and  parameter 34
  4584.     let the  SysOp change what  symbols are used  for each RBBS-PC  function by
  4585.     substituting a new letter.  Additionally, a space substituted for a command
  4586.     will disable that command,  in effect removing it from the  system.  SysOps
  4587.     with  no DOORS  may wish  to  disable D  rather  than to  confuse users  by
  4588.     displaying options not available.  All commands displayed to callers in the
  4589.     command prompt will be in sorted order.
  4590.  
  4591.     Parameter 35 allows the section name to precede the command prompt  that is
  4592.     displayed  when a caller is  asked to enter a  command.  The command prompt
  4593.     begins with  <section>, where  <section> is MAIN,  FILE, or  UTIL, if  this
  4594.     option is selected.  Otherwise, the prompt will begin with YOUR.   Normally
  4595.     the section in  the prompt helps the  caller remember where he  is, but see
  4596.     section 8 for reasons to suppress the section.
  4597.  
  4598.     Parameter 36 allows  the SysOp to  not display the  commands to the  caller
  4599.     when waiting for the user to enter a command. The default in RBBS-PC is  to
  4600.     remind the caller  what commands are available  by giving a sorted  list of
  4601.     the letters used for each command at the  end of the command prompt.  RBBS-
  4602.     PC shows only  the commands available in the section that the caller is in.
  4603.     If  the SysOp chooses  not to display the  section a user  is in, there are
  4604.     more commands available than will be shown in the prompt.
  4605.  
  4606.     RBBS-PC supports  a "wrap-around"  search for valid  commands.   This means
  4607.     that when a command is not found in the current section, other sections are
  4608.     then  searched.   The  order  of  search  is MAIN->FILE->UTIL->LIBR.    For
  4609.     example,  if L  is picked  when  in the  main section,  where  there is  no
  4610.     command, the L)ist command in the file section will be executed.  Parameter
  4611.     37 lets the  SysOp turn this wrap-around search and not execute commands in
  4612.     other sections.   Wrap-around  is required if  the SysOp  want's to  have a
  4613.     single command line (i.e. not have the "Utility" and "File" subsystems).
  4614.  
  4615.     Parameter 38 allows the SysOp to elect to use machine language  subroutines
  4616.     (rather  than  the BASIC  routines) for  a  few of  the more  commonly used
  4617.     subroutines.  These may only be functional within a DOS that is supplied by
  4618.     IBM (rather than Microsoft).  Therefore this is optional.  If you encounter
  4619.     problems,  simply elect to  utilize the BASIC routines  which are much more
  4620.     likely to be  compatible in configurations that have  hardware and software
  4621.     operating   environments  significantly   different  from   the  "baseline"
  4622.     configuration  in which  RBBS-PC is  tested.   In most cases  the assembler
  4623.     routines are much faster than  their BASIC counterparts, especially in file
  4624.     searches.
  4625.  
  4626.     Parameter 39 allows  the SysOp to elect  to use the BASIC  language's PRINT
  4627.     statement to write to the  screen of the PC that  RBBS-PC is being run  on.
  4628.     This is sometimes  necessary in "hostile" environments  (i.e. multitasking,
  4629.     special screen  drivers, etc.) where the  use of RBBS-PC's default  call to
  4630.  
  4631.     RBBS-PC CPC17.3                                                 Page 96
  4632.  
  4633.     the RBBS-PC screen driver ANSI is not viable.
  4634.  
  4635.     Parameter 40 is the maximum number of lines that can  be used to describe a
  4636.     file that was uploaded.  It is the number of lines (beyond 1) that a caller
  4637.     can enter when  describing a file that  was uploaded.   It applies to  both
  4638.     single FMS directories and non-FMS directories.
  4639.  
  4640.     RBBS-PC CPC17.3                                                 Page 97
  4641.  
  4642.     9.3 Global RBBS-PC Parameters (Part 3 of 3)
  4643.     --------------------------------------------
  4644.     Parameter 41  and  parameter  42 determine  how  callers are  going  to  be
  4645.     uniquely  identified when  they  log on.    The default  in  RBBS-PC is  to
  4646.     concatenate  first and last  name to form  name.  Parameter  41 lets SysOps
  4647.     choose  another field  as  user ID.   A  field is  specified by  giving its
  4648.     starting  position and  length  in the  user  file, and  a  prompt must  be
  4649.     supplied which  will be  used when  asking for  user ID.   BE  VERY CAREFUL
  4650.     CHANGING THIS PARAMETER.  Parameter 45 and  parameter 46 allow the SysOp to
  4651.     specify  a name  to be  used when  prompting the  user for the  field (i.e.
  4652.     ACCOUNT #).   See section 9 for  additional details.  RBBS-PC  assumes that
  4653.     name is being used whenever the ID begins in column 1.
  4654.  
  4655.     Parameter  42 lets a  field be specified  that will be  used to distinguish
  4656.     callers with the  same ID.  Like with ID, the beginning column, length, and
  4657.     prompt must be  specified.  RBBS-PC defaults to no  individuation, which is
  4658.     specified by setting  the beginning column  to 0.   Activating this  option
  4659.     forces users to give additional information when they log on, since both ID
  4660.     and individuation value have to be given.  See section 9 for details on how
  4661.     to use this option.
  4662.  
  4663.     Parameter 43 and  parameter 44 inform RBBS-PC  the field and the  length of
  4664.     the  field in  the USERS  record  to use  when determining  if  a "personal
  4665.     download" exists  for this person.  Parameter  43 indicates where the field
  4666.     begins  in the USERS record -- the default is position 1 (the user's name).
  4667.     Parameter  44 indicates  how long  the  field to  match against  is  -- the
  4668.     default is 31 (the  maximum length of a  user's name).  The entries  in the
  4669.     personal download directory must have exactly this many bytes at the end --
  4670.     plus one (for the flag used to indicate if the file has been download). 
  4671.  
  4672.     Parameter 45 and parameter 46 allow the SysOp to specify the description of
  4673.     what is  asked for  that is  placed in the  first 31  bytes of  each user's
  4674.     record.  When identifying  to whom a message is to/for it is these 31 bytes
  4675.     that are matched against.  However,  these prompts can be changed from  the
  4676.     default "FIRST name" for parameter 45 to "REAL FIRST name" or  even "DEALER
  4677.     number".   Similarly  the default  for parameter 46  could be  changed from
  4678.     "LAST name" to "ZIP code".
  4679.  
  4680.     Parameter 47 allows  the user to  enforce upload to  download ratios.   See
  4681.     section 14 for  a discussion of the  flexibility each RBBS-PC SysOp  has in
  4682.     specifying these ratios.   Sections 14.3 and  14.4 describe in more  detail
  4683.     the format necessary to use in the password  file in order to utilize which
  4684.     users/security levels are to have upload and download ratios applied.
  4685.  
  4686.     Parameter 48, parameter  49, parameter 50, and parameter  51 address access
  4687.     control via the automatic RBBS-PC subscription management facilities. For a
  4688.     detailed   discussion  of   RBBS-PC's  automatic   subscription  management
  4689.     facilities,  see  section  8.  Parameter  48  means  that  access  will  be
  4690.     controlled by subscription  dates, and  persons with expired  subscriptions
  4691.     will get reduced  privileges.  Parameter 49  is the security level  callers
  4692.     get   after   their  subscription   expires.     Typically   this  security
  4693.     significantly  reduces  what  a caller  is  allowed to  do.    Parameter 50
  4694.     specifies when  callers are to be warned in advance that their subscription
  4695.     is  about to expire.  This warning is  based on the number of days before a
  4696.     subscription expires.  Parameter 51 specifies the number of days a new user
  4697.  
  4698.     RBBS-PC CPC17.3                                                 Page 98
  4699.  
  4700.     gets in the subscription period.
  4701.  
  4702.     Parameter 52 determines if RBBS-PC is to avoid  writing to the printer.  On
  4703.     some  networks any  attempt to write  to a  printer can generate  a spooler
  4704.     error that hangs the node.  Setting this parameter to "YES" guarantees that
  4705.     RBBS-PC doesn't write to the printer.
  4706.  
  4707.     Parameter 53 causes RBBS-PC to play musical themes for auditory feedback on
  4708.     what is happening  on a board.   This can be important for  SysOps that are
  4709.     sight impaired.  These musical themes are "played" on the speaker of the PC
  4710.     that is running RBBS-PC.  The themes are not transmitted to the caller.
  4711.  
  4712.     Parameter 54 is the buffer used internally by RBBS-PC when  displaying text
  4713.     files such as menus, directories of files, etc.  A SysOp  can set parameter
  4714.     218 to either minimize memory usage  or optimize speed.  It is the  size of
  4715.     the internal buffer that RBBS-PC uses to read in most text files, including
  4716.     menus  and can range from 32  bytes to 4096 bytes.   The bigger the buffer,
  4717.     the fewer disk  accesses necessary to display  the file and the  faster the
  4718.     display  will  be.    The  default  of  128  is  the  minimum  recommended.
  4719.     Increasing this  to 512 will increase the speed  of text displays.  However
  4720.     in  some environments where it is important  to respond quickly to XON/XOFF
  4721.     control, this should be set to the minimum of 32.
  4722.  
  4723.     Parameter 55 allows  RBBS-PC to dynamically  set the "stack space"  used by
  4724.     the code generated  by the BASIC compiler.  In QuickBASIC 3.0, the compiler
  4725.     used to generate  RBBS-PC's .EXE file, and IBM's BASIC Compiler Version 2.0
  4726.     this is the total stack space.  In  later releases of QuickBASIC, it is the
  4727.     ADDITIONAL  stack  space  beyond  which  BASIC  normally  allocates.    The
  4728.     recommended  value  is 1024,  if  RBBS-PC  is  running in  a  multi-tasking
  4729.     environment under DOS.   However, in order to  decrease memory demands this
  4730.     can be made smaller.
  4731.  
  4732.     Parameter 56 is not implemented in RBBS-PC.
  4733.  
  4734.     Parameter 57,  like parameter 45 and parameter 46, is  used when a new user
  4735.     logs on to  the system for  the first time.   Instead of asking a  user for
  4736.     their City and State, a  SysOp can request such  things as their area  code
  4737.     and telephone number.
  4738.  
  4739.     Parameter  58 allows  the  SysOp to  configure RBBS-PC  such that  the file
  4740.     directories are shown in  sorted order whenever  a caller simply lists  the
  4741.     directory of directory.
  4742.  
  4743.     Parameter 59 allows the SysOp to configure RBBS-PC such that the "internal"
  4744.     RBBS-PC protocols use as large (or as small) a buffer  size when writing to
  4745.     disks (i.e. for  uploads).  The allowable  range is from 128  characters to
  4746.     8,192 characters.
  4747.  
  4748.     Parameter  60 indicates  that  Computalker (B.G.  MICRO,  P.O. Box  280298,
  4749.     Dallas,  Texas 75228)  or HEARSAY  1000  (HEARSAY Inc.,  1825 74th  Street,
  4750.     Brooklyn,  N.Y.  11204) speech  boards are  to  be supported.   This  is in
  4751.     support  of the sight  impaired SysOpS.   These two particular  boards were
  4752.     selected since they  were available from John  Lasley. (John is a  SysOp in
  4753.     Minneapolis, MN).
  4754.  
  4755.     RBBS-PC CPC17.3                                                 Page 99
  4756.  
  4757.     To support as many speech boards as possible in the future,  RBBS-PC uses a
  4758.     64 entry file  (RBBSTALK.DEF) to contain SysOp-definable fields.   The file
  4759.     is accessed randomly with fixed-length 32 byte records.  The last two bytes
  4760.     must contain CR/LF leaving 30 bytes available for the text.  The 64 records
  4761.     are predefined and used by RBBS-PC as follows:
  4762.  
  4763.          1 = LOGON USER MESSAGE
  4764.          2 = MAIN MENU PROMPT
  4765.          3 = FILES MENU PROMPT
  4766.          4 = UTILITY MENU PROMPT
  4767.          5 = DOOR MENU PROMPT
  4768.          6 = LIBRARY MENU PROMPT
  4769.          7 = LOGOFF MESSAGE
  4770.          8 = DOWNLOAD PROMPT
  4771.          9 = UPLOAD PROMPT
  4772.         10 = TIME REMAINING PROMPT
  4773.         11 = WELCOME BACK PROMPT
  4774.         12 = CONFERENCE MENU PROMPT
  4775.         13-64 available for future enhancements
  4776.  
  4777.  
  4778.     Smarttext IS supported in the RBBSTALK.DEF records.
  4779.  
  4780.     The CompuTalker requires the use of one of the COM ports.  RBBS-PC will use
  4781.     only COM2 and does not  check to see if COM2  was also selected for  CONFIG
  4782.     parameter 221.
  4783.  
  4784.     RBBS-PC CPC17.3                                                 Page 100
  4785.  
  4786.     9.4 Parameters for RBBS-PC System Files (part 1)
  4787.     -------------------------------------------------
  4788.     Parameter 61  specifies the name  of text file that  is shown to  a user if
  4789.     bulletins are not  optional (see parameter 28)  or if the user  replies "L"
  4790.     when notified of how many bulletins exist.  This file should contain a list
  4791.     of  the  bulletins (i.e.  1-99)  and a  brief one-line  description  of the
  4792.     contents of each (e.g. "New Release of RBBS-PC").
  4793.  
  4794.     Parameter 62 allows a SysOp to have from 0 to 99 "bulletins."  If there are
  4795.     0  bulletins a  user is notified  that there  are no bulletins.   Bulletins
  4796.     should be  brief, informative, and timely.   I personally think  that there
  4797.     should be very few bulletins and that they should be changed often if users
  4798.     are  to be  enticed  to look  at  them.   If  you  make bulletins  optional
  4799.     (parameter 28) RBBS-PC  will automatically bring new ones  to the attention
  4800.     of each caller when they log on.
  4801.  
  4802.     Parameter 63 provides the SysOp with the flexibility to make the  prefix of
  4803.     the bulletins anything he wants (i.e. BULLET).  To this is added the number
  4804.     (e.g.  BULLET7 for  bulletin number  7)  and the  disk drive  designated in
  4805.     parameter 61 is searched for  the bulletin number requested when  some asks
  4806.     to see a bulletin.  If the file is not found, the user is so informed. If a
  4807.     "graphics"  equivalent is  found  and  the user  has  signed  on N/8/1  and
  4808.     requested graphics,  the graphics  version of the  bulletin is  displayed -
  4809.     BULLET7G  (i.e.  contains characters  with  values  of  0 through  255)  or
  4810.     BULLET7C  (i.e. contains  characters with  values of  0 through  128 which,
  4811.     hopefully, are ANSI screen commands).
  4812.  
  4813.     Parameter 64  indicates the  disk drive  and path  on which  RBBS-PC is  to
  4814.     search for to find RBBS-PC's on-line "help" files whenever a user  asks for
  4815.     help within a  specific subsystem.  This is where the  help files should be
  4816.     stored.
  4817.  
  4818.     There are some specific help  files used by RBBS-PC whose name is  simply a
  4819.     help  prefix plus  a  number.   The  SysOp  may elect  to  call the  prefix
  4820.     something other than the default of "HELP0".  Parameter 65 allows the SysOp
  4821.     to  pick  up to  a  seven-character prefix  to  which the  numbers  will be
  4822.     appended.   This  file name  is what  RBBS-PC will  look for  on the  drive
  4823.     specified in  parameter 64  when a  user asks for  help on-line.   As  with
  4824.     "bulletins", if a "graphics" equivalent is found and the user has signed on
  4825.     N/8/1 and  requested graphics, the  graphics version  of the  help file  is
  4826.     displayed (i.e. HELP07G).
  4827.  
  4828.     RBBS-PC  identifies help  for a  particular command  by the  letter  of the
  4829.     section and  the letter  of the  command, plus  an extension  for the  help
  4830.     files.  The extension "HLP" is the default but parameter  66 lets the SysOp
  4831.     set this to whatever desired.
  4832.  
  4833.     Parameter 67 is the name of the file that is displayed to a caller when the
  4834.     caller is requested  to categorize a file that has been uploaded.  RBBS-PC'
  4835.     File Management System can be configured to  minimize the activities of the
  4836.     SysOp by allowing  users to categorize the  files that are uploaded.   This
  4837.     file should list the names of  the categories that an uploader can  select.
  4838.     It should be stored on the same drive and path as the other help files. The
  4839.     category selected will be  validated to make sure that it is in the list in
  4840.     DIR.CAT or  that  a  valid  category  file with  that  name  exists.    The
  4841.  
  4842.     RBBS-PC CPC17.3                                                 Page 101
  4843.  
  4844.     appropriate category code will be  written out to the shared FMS  directory
  4845.     if  the FMS system is  active.  If  the FMS system  is not being  used or a
  4846.     separate  .DIR file  with the  category name  exists (e.g.  GAMES.DIR), the
  4847.     description of the entry for the upload will be appended to the .DIR file.
  4848.  
  4849.     Parameter 68 allows the SysOp to select any name for the text file that new
  4850.     users see when they first log  on and before they "register" themselves  in
  4851.     RBBS-PC's USERS file.  A user  sees it once and only once during  his first
  4852.     session.   It can contain anything you want it  to, but a brief explanation
  4853.     of your Board's purpose, "rules", etc. might be appropriate.
  4854.  
  4855.     Parameter 69 allows  the SysOp to  select any name  for the text  file that
  4856.     each user  sees EVERY time AFTER they log on.  Keep it brief!  RBBS-PC will
  4857.     look for a "graphics" equivalent if the user qualifies for graphic displays
  4858.     (i.e.  it will display  the file HELLOG or  HELLOC in lieu  of HELLO).  The
  4859.     default name for this file is WELCOME.
  4860.  
  4861.     Parameter 70, parameter  71, parameter 72, parameter 73,  parameter 74, and
  4862.     parameter 75 focus  on the text files  that RBBS-PC displays to  novices as
  4863.     "menus."   Menu  files shown  to novices  tend  to be  frequently accessed.
  4864.     Systems that do  not have disk caching  should consider putting menus  in a
  4865.     RAM disk in order to cut down on the wear and tear of your disk drives.
  4866.  
  4867.     Parameter 70 allows any valid name to be given  to the text file containing
  4868.     the commands allowed those with SysOp privileges.
  4869.  
  4870.     Parameter  71  allows  the SysOp  to  specify  the name  of  the  text file
  4871.     containing the menu of  commands available to those in the  main "messages"
  4872.     subsystem.
  4873.  
  4874.     Parameter 72  allows  the name  of the  text file  containing  the menu  of
  4875.     commands available to those in the "files" subsystem to be any valid name.
  4876.     Parameter  73  allows the  name of  the  text file  containing the  menu of
  4877.     commands  available to those  in the "utilities" subsystem  to be any valid
  4878.     name.
  4879.  
  4880.     Parameter 74  is  the name  of  the text  file  listing  the names  of  the
  4881.     conferences  that are available.  Conference names must be seven-characters
  4882.     or less, in all caps, and cannot have any character to the left or right of
  4883.     the  name except  possibly  a space.    The SysOp  must  already have  pre-
  4884.     formatted the messages and users files associated with the conferences (see
  4885.     section 18).
  4886.  
  4887.     Parameter 75 allows the SysOp  to name the text file containing the list of
  4888.     the questionnaires, surveys, or forms which callers can fill out and answer
  4889.     on-line.   The  scripting support built  into RBBS-PC  allows the  SysOp to
  4890.     construct a series of questions to be  presented to the caller and save the
  4891.     answers.   Questionnaire  names must  be eight  characters or less,  in all
  4892.     caps, and cannot have any character to the left or right of the name except
  4893.     possibly a  space.  Of course, the  actual file name for the  script has an
  4894.     extension  of ".DEF".  Thus, a  questionnaire called SURVEY would appear in
  4895.     the text file  identified in Parameter 75 as  SURVEY, preceded and followed
  4896.     by at least one blank character, and exist as a file named SURVEY.DEF.
  4897.  
  4898.     Parameter 76  allows the  SysOp to  specify the  drive and  path where  the
  4899.  
  4900.     RBBS-PC CPC17.3                                                 Page 102
  4901.  
  4902.     optional questionnaires will be located.
  4903.  
  4904.     If the file specified in parameter 77  exists, RBBS-PC will assume that the
  4905.     SysOp is using RBBS-PC's "Programmable User Interface" (PUI) -- see section
  4906.     8 for a fuller description of RBBS-PC's PUI.
  4907.  
  4908.     Parameter 78  allows the  SysOp to  elect to  have RBBS-PC  have full  page
  4909.     control.  By this  it is meant that all displays  will be interrupted after
  4910.     the number of lines set by the user for his "page length" have been written
  4911.     to the user's screen.  This, on occasion, may mean that menus will pause in
  4912.     the middle with a prompt waiting for the user to hit enter.  The  advantage
  4913.     of allowing this to happens means that  no information on the user's screen
  4914.     will "scroll off"  the top of the  screen.  The disadvantage  is that menus
  4915.     may not be viewed in their entirety.  Replying "NO" to this parameter means
  4916.     that menus will be fully displayed on a single screen, but some information
  4917.     that preceded the menus may scroll off the top of the screen.
  4918.  
  4919.     Parameter 79 and parameter 80 allow the  drive, path name, and extension to
  4920.     be used for RBBS-PC "macros".  See section 6.8 for  a fuller description of
  4921.     RBBS-PC extensive "macro" capabilities.
  4922.  
  4923.     RBBS-PC CPC17.3                                                 Page 103
  4924.  
  4925.     9.5 Parameters for RBBS-PC System Files (part 2)
  4926.     -------------------------------------------------
  4927.     Parameter 81 is the name of the text file (TRASHCAN) listing names that the
  4928.     SysOp considers inappropriate.  This file is used when a new user signs on.
  4929.     The new users  first and last name  are each individually   checked against
  4930.     the names in this file, as well as the entire name.
  4931.  
  4932.     The format of this file is as follows:
  4933.  
  4934.     <name>,
  4935.  
  4936.     An example of such a file would be:
  4937.  
  4938.     BITE,
  4939.     BYTE,
  4940.     PAPA DOC,
  4941.     DOCTOR,
  4942.     DEATH,
  4943.     GLADIATOR,
  4944.     KILLER,
  4945.     MAN,
  4946.     THE
  4947.  
  4948.     The  comma  is  optional  after  each  name.   However,  it  does  help  in
  4949.     delineating  exactly what  character strings  are being  searched   for and
  4950.     compared  against (some  text editors  may add  extraneous and  non-visible
  4951.     characters to a line).   All names should be UPPER CASE! If  you create the
  4952.     file using IBM's  standard DOS text editor,  EDLIN, each line may  end with
  4953.     either  a comma or  a carriage return.   If you create  the file using COPY
  4954.     CON, each line  should end with a  carriage return (i.e. the  "enter" key).
  4955.     The last line (when using    COPY CON) should end with a Control Z, F6, and
  4956.     then carriage return. BASIC will treat either a comma or a  carriage return
  4957.     as a field delimiter.   You need  a field delimiter  following each of  the
  4958.     names.  If  the above file existed,  any new user  who logged and used  the
  4959.     following names would be denied access:
  4960.  
  4961.     Byte Killer
  4962.     Kilo Man
  4963.     Doctor Death
  4964.     PC Doctor
  4965.     Pappa Doctor
  4966.  
  4967.     but "Hoppa Papa" would be fine.
  4968.  
  4969.     Parameter 82 lets  the SysOp force  a questionnaire to  be answered by  all
  4970.     callers, old and  new, exactly once.   RBBS-PC records in the  users record
  4971.     when  the required questionnaire  is answered so  that it will  not ask the
  4972.     caller again.  Parameter 186 lets the SysOp  reset the flag back to off for
  4973.     all users.   This  should be done  when the  SysOp wants  to install a  new
  4974.     required  questionnaire  to  be  used  to  survey   all  callers.    If  no
  4975.     questionnaire is required, this parameter can be specified as NONE.
  4976.  
  4977.     Parameter 83 allows the SysOp to specify the name of the file that will  be
  4978.     displayed as soon as carrier is detected and BEFORE a user can  log on.  It
  4979.     is  displayed immediately  after  the name  of the  RBBS-PC  is shown  (see
  4980.  
  4981.     RBBS-PC CPC17.3                                                 Page 104
  4982.  
  4983.     parameter  12).  SysOps  should use "PRELOG" to  convey such information as
  4984.     whether  real names  are required,  300  baud users  will automatically  be
  4985.     denied access, etc.
  4986.  
  4987.     RBBS-PC provides a  sophisticated, script-driven  capability that allows  a
  4988.     SysOp  to ask new users questions  or questions of all  users when they say
  4989.     G)oodbye.   Parameter 84 allows the  SysOp to specify the file  name of the
  4990.     script of questions to ask new users.
  4991.  
  4992.     Parameter 85  allows the SysOp to  specify the file  name of the  script of
  4993.     questions (if any) to ask users when they say G)oodbye.  The  SysOp can set
  4994.     up  the script so as to raise or  lower a new users security level based on
  4995.     the answers.  Contained within these scripts  is the file name to which the
  4996.     answers are to be written.
  4997.  
  4998.     Parameter 86 allows the SysOp to specify the file name for the file used by
  4999.     RBBS-PC to hold the messages on the bulletin board.  This file can NOT have
  5000.     an extension because RBBS-PC appends the extension ".BAK" to  the file name
  5001.     when "packing" the messages file.
  5002.  
  5003.     NOTE: Read  section 19 if you want to include  the main message file in the
  5004.     scan for conference mail waiting.
  5005.  
  5006.     RBBS-PC  keeps a profile of each  user who logs on  in a "user record" (see
  5007.     Appendix A for a layout of this record).  Parameter 87 allows the SysOp  to
  5008.     specify  the file name for this file.   This file can NOT have an extension
  5009.     because  RBBS-PC  appends  the  extension  ".BAK" to  the  file  name  when
  5010.     "packing" the users file.
  5011.  
  5012.     Instead of leaving a  "message", a user may leave  a comment for the  SysOp
  5013.     that is  readable only  by the  SysOp.   Parameter 88  allows the SysOp  to
  5014.     specify the  fully qualified  name for the  file used  by RBBS-PC  to store
  5015.     users' comments.
  5016.  
  5017.     Parameter 89 allows SysOps to have comments recorded as private messages to
  5018.     them in the main  messages file providing there  is any room.  This  allows
  5019.     replies to comments to be done much more easily.
  5020.  
  5021.     RBBS-PC maintains a log of user activity  on a "callers" file.  It contains
  5022.     information on the date, time,  communications parameters of who logged on;
  5023.     what they  uploaded or  downloaded; and any  security violations  or errors
  5024.     that were generated.   Parameter 90 allows  the SysOp to specify  the fully
  5025.     qualified name for the file that RBBS-PC uses for this log.
  5026.  
  5027.     If parameter 91 is selected, additional items of   information are included
  5028.     in the CALLERS file:
  5029.  
  5030.          1) "Connect not completed"         9) "Left comment at time"
  5031.          2) "Sleep disconnect"              10) "Logged off at time"
  5032.          3) "Caller changed name/address"   11) "Carrier dropped at time"
  5033.          4) "Newuser"                       12) "Message # xxxx left at"
  5034.          5) "Bulletin x read"               13) "Read Messages ..."
  5035.          6) "SysOp initiated Chat"          14) "Answered questionnaire xxx"
  5036.          7) "Entered Conference/Subboard x" 15) "Killed msg # xxxx"
  5037.          8) "Time limit exceeded"
  5038.  
  5039.     RBBS-PC CPC17.3                                                 Page 105
  5040.  
  5041.     It should be  remembered that for each occurrence of the above, the CALLERS
  5042.     file will increase by 64 bytes.  Unless  you either have a hard disk or are
  5043.     willing  to frequently maintain your  system in order  to leave enough free
  5044.     space on  the  disk  drives  for  new files,  this  option  should  NOT  be
  5045.     activated.
  5046.  
  5047.     Parameter 92 has not been implemented in RBBS-PC.
  5048.  
  5049.     Parameter 93 allows the  file name to be specified for  the file containing
  5050.     the information on  the conferences that are to be scanned for mail waiting
  5051.     when a  user logs  on.   The format  of this  file and  the flexibility  it
  5052.     affords the RBBS-PC SysOp is described more fully in section 15.
  5053.  
  5054.     Parameter 94  allows the SysOp  to specify the  maximum number of  "working
  5055.     variables" that RBBS-PC should support in the questionnaires and macros.  A
  5056.     "working variable" is  simply a place in which RBBS-PC can store a response
  5057.     or a set  of characters.   These "working  variables" can  then be used  to
  5058.     create  parameters that  can  be passed  to "DOOR"s  (see section  13.4) or
  5059.     written out to data bases (see section 6.8.4).
  5060.  
  5061.     RBBS-PC CPC17.3                                                 Page 106
  5062.  
  5063.     9.6 Parameters for RBBS-PC "Doors"
  5064.     -----------------------------------
  5065.     Parameter 101 allows the SysOp to enable RBBS-PC  to exit and return to the
  5066.     system (i.e. DOS).   You will also be asked if you  will be running "doors"
  5067.     with MultiLink.   If you reply yes,  you may choose  what type of  terminal
  5068.     MultiLink is to  assume the user is  using when MultiLink receives  control
  5069.     from RBBS-PC.  See the MultiLink manual for the various terminal types.  If
  5070.     you choose  terminal type zero, MultiLink will not  be given control of the
  5071.     communications port when  RBBS-PC exits to  the "door."   Use this if  your
  5072.     application is coded to  control the communications port.   The batch  file
  5073.     out of which RBBS-PC is invoked should then  check to see if a "door" is to
  5074.     be invoked.   A "door" is  simply a batch file  that the SysOp  has created
  5075.     which RBBS-PC users are allowed to exit to and which will then take control
  5076.     of the remote users communication port.
  5077.  
  5078.     Parameter 102 allows  the SysOp to specify the fully qualified file name of
  5079.     the menu that  lists the names of the "doors" available  to users.  RBBS-PC
  5080.     checks  this  file to  verify  that  the name  of  the door  that  the user
  5081.     requested is in the doors menu  (see section 15).  A door name  in the menu
  5082.     must have 8 or  fewer characters, be  in all caps,  and the only  character
  5083.     that can occur immediately before and after the name is a space.
  5084.  
  5085.     Parameter 103 allows the SysOp to specify the fully qualified file  name of
  5086.     the file that  RBBS-PC is to  use when dynamically  building the .BAT  file
  5087.     that  invokes the "door" selected by the user.  The batch file that invokes
  5088.     RBBS-PC must  contain an "IF" to check if  this file exist whenever RBBS-PC
  5089.     terminates and (if it exists) to execute it (see section 14).  This is also
  5090.     the same file name that is used when the SysOp exits to DOS.
  5091.  
  5092.     When a door finishes RBBS-PC is re-invoked.  Parameter 104 allows the SysOp
  5093.     to  specify the fully qualified  file name of the  .BAT file that should be
  5094.     used  to re-invoke RBBS-PC (see section  14 and section 15).   This is also
  5095.     the same file name that is used when the SysOp returns from exiting to DOS.
  5096.  
  5097.     Whenever a remote  user exits to a "door"  or to DOS (via  the remote SysOp
  5098.     function 7), RBBS-PC needs to know where to find COMMAND.COM.  In a network
  5099.     environment with several  PC's the COMMAND.COM's may be  different for each
  5100.     PC.  Parameter 105 allows the SysOp to specify for the each copy of RBBS-PC
  5101.     a disk drive and path on which to find the COMMAND.COM appropriate for that
  5102.     copy of RBBS-PC.
  5103.  
  5104.     Parameter  106  allows the  SysOp to  elect  how I/O  is redirected  to the
  5105.     communications  port when dropping to DOS as  a remote SysOp (command "7").
  5106.     When configuring RBBS-PC you may select to have the I/O redirected   either
  5107.     via  the  standard DOS  "Change  Console  Command"  (CTTY), or  having  DOS
  5108.     redirect standard I/O (">" or "<").   This parameter allows you to  specify
  5109.     if the  redirected output  is to be  handled by a  special device  named in
  5110.     CONFIG.SYS.  If  you don't elect  to use a  special device driver,  RBBS-PC
  5111.     will redirect  the output directly  to the communications port  by building
  5112.     the command  "CTTY COMx" or ">COMx and  <COMx" , where "x" is  based on the
  5113.     communications port the node  was configured for.  If you  specify the name
  5114.     of a device driver, it should also be in the  CONFIG.SYS of the system that
  5115.     RBBS-PC is running on.  As an example, if you specified a device driver  of
  5116.     GATE, RBBS-PC would build the command CTTY GATE.
  5117.  
  5118.     RBBS-PC CPC17.3                                                 Page 107
  5119.  
  5120.     Parameter  107 specifies the name of a program  (i.e. an .EXE or .COM file)
  5121.     that control  is to  temporarily to be  passed through  when the  caller is
  5122.     determined to  be a new  user.  When  this .EXE  or .COM file  finishes and
  5123.     RBBS-PC  is   re-invoked,  the   RBBS-PC  logon   sequence  will   continue
  5124.     uninterrupted from the point at which the caller was determined to be a new
  5125.     user.  This feature is  intended for those who feel the need  to perform an
  5126.     extensive verification of  new user's that is not met by RBBS-PC's built in
  5127.     scripting capability  or automatic  subscription functions.   This  feature
  5128.     allows those SysOps who have the need to reference membership lists, verify
  5129.     political  affiliation, interrogate blood type, or  "qualify" new users via
  5130.     whatever criteria seems  expedient to their needs/purposes in  any way they
  5131.     wish simply by writing a program external to RBBS-PC.
  5132.  
  5133.     Parameter 108 allows  the external program designated via  parameter 107 to
  5134.     be  invoked for  not only  new callers,  but also  for  callers who  have a
  5135.     security  level equal  to  or less  than the  security  level specified  in
  5136.     parameter 108.
  5137.  
  5138.     Parameter 109 allows the SysOp to invoke  "DOORS" via a control file.   The
  5139.     control file has 8 parameters that are separated by commas.  The format is
  5140.  
  5141.     1.   Name of door - up to 8 characters
  5142.     2.   Minimum security to use door
  5143.     3.   Questionnaire to execute before the door
  5144.     4.   Method to invoke doors - "S" for shelling, else  go to .BAT file 5.   
  5145.          Template for invoking  door - make sure the  first word has a file    
  5146.          extension -  RBBS-PC will  check for  existence of  the first  word as
  5147.          file.
  5148.     6.   Whether ask for password on return - Y is yes, anything  else bypasses
  5149.          password check
  5150.     7.   File to display after the door
  5151.     8.   Maximum time allowed in doors  - time remaining passed to  door is    
  5152.          reduced if max time is less.
  5153.  
  5154.     Note:  RBBS-PC normally passes the node id as the 1st parameter  to a door.
  5155.     If a template is  used, RBBS-PC will not automatically  add this parameter.
  5156.     If you want it, you should include "[NODE]" in the template.  Special note:
  5157.     A  door must still have a .BAT file in order to be invoked, even if the BAT
  5158.     file is not used in the template!  A control file is optional.  The default
  5159.     name is DOORS.DEF.
  5160.     Example #1:
  5161.  
  5162.     Given:
  5163.     1.   Name of the "DOOR" is "KEYCHK"
  5164.  
  5165.     2.   Minimum security a caller must have to use the "DOOR" is 4.
  5166.  
  5167.     3.   Questionnaire users  must  answer  prior to  entering  the  "DOOR"  is
  5168.          C:\RBBS\GET3RD.DEF
  5169.  
  5170.     4.   The "DOOR" is to be invoked by EXITing.
  5171.  
  5172.     5.   The template to use is designed to invoke a  .BAT file and pass two   
  5173.          different responses acquired from the questionnaire when the .BAT file
  5174.          is invoked.
  5175.  
  5176.     RBBS-PC CPC17.3                                                 Page 108
  5177.  
  5178.     6.   Returning from the "DOOR" the caller need not reenter their password.
  5179.  
  5180.     7.   The caller is to be shown the file "KEYCHK.FIL" when the "DOOR" ends.
  5181.  
  5182.     The control file would have the following line in it:
  5183.  
  5184.     KEYCHK,4,C:\RBBS\GET3RD.DEF,D,"RUNKEY.BAT [1] [2]",N,KEYCHK.FIL,
  5185.  
  5186.     Example #2:
  5187.  
  5188.     Given:
  5189.     1.  Name of the "DOOR" is "SKYCHK"
  5190.  
  5191.     2.   Minimum security a caller must have to use the "DOOR" is 10.
  5192.  
  5193.     3.   Questionnaire  users  must  answer prior  to  entering  the  "DOOR" is
  5194.          C:\RBBS\GET3RD.DEF
  5195.  
  5196.     4.   The "DOOR" is to be invoked by SHELLing.
  5197.  
  5198.     5.   The template to use is designed to invoke a .BAT file and pass two    
  5199.          different responses acquired from the questionnaire when the .BAT file
  5200.          is invoked.
  5201.  
  5202.     6.   Returning from the "DOOR" the caller must reenter their password.
  5203.  
  5204.     7.   The caller is to be shown the file "KEYCHK.FIL" when the "DOOR" ends.
  5205.  
  5206.     The control file would have the following line in it:
  5207.  
  5208.     SKYCHK,10,C:\RBBS\GET3RD.DEF,S,"RUNKEY.BAT [1] [2]",Y,KEYCHK.FIL,
  5209.  
  5210.     RBBS-PC CPC17.3                                                 Page 109
  5211.  
  5212.     9.7 Parameters for RBBS-PC's Security (part 1)
  5213.     -----------------------------------------------
  5214.     Parameter 121 is  the first and last  name alias (i.e. pseudonym)  that the
  5215.     SysOp will use when logging on remotely.  It is this alias name that causes
  5216.     RBBS-PC to  recognize the remote caller as the  SysOp and not simply a user
  5217.     with  a security level equal to that of  the SysOp.  This should be a first
  5218.     and last  name  combination that  is not  likely to  be  selected by  other
  5219.     callers.  If you want to eliminate anyone from logging on as the SysOp, you
  5220.     can simply reply with a "null" (i.e.   a carriage return) for the first and
  5221.     last name for parameter 121.
  5222.  
  5223.     The  ESC key is used to log  on in local SysOp mode.   Parameter 122 can be
  5224.     set so  that the pseudonym  specified for parameter  121 is required  to be
  5225.     entered from the local  keyboard of the personal computer  on which RBBS-PC
  5226.     is running when  the escape key  (Esc) is pressed.   If you  enter  YES, no
  5227.     password is required.
  5228.  
  5229.     Parameter  123 specifies the minimum security  level users need in order to
  5230.     log onto   RBBS-PC and parameter 124 specifies  the security level assigned
  5231.     to new users.   If  the security level assigned new users  is less than the
  5232.     minimum security level to log on, no new  users  can  logon on.  This means
  5233.     that no new  users are allowed and access is limited only to pre-registered
  5234.     users.  Since one of RBBS-PC's two objectives is to facilitate the exchange
  5235.     of information, every RBBS-PC SysOp is urged to not entirely deny new users
  5236.     access.    The  chapters  on  RBBS-PC's  extensive  security  features  and
  5237.     subscription and time  management system detail the  ways in which  a SysOp
  5238.     can control access  to his  RBBS-PC without  having to deny  access to  new
  5239.     users -- chapters 16 and 10, respectively.
  5240.  
  5241.     Parameter 125  specifies the  minimum security level  a user  must have  in
  5242.     order to  be considered a SysOp.  Even if a user has a high enough security
  5243.     level to see the SysOp menu and execute some or all of the SysOp  commands,
  5244.     the user  will not  be treated as  a SysOp (i.e.  allowed to see  the files
  5245.     upload/download when  viewing the CALLERS  file) unless the  users security
  5246.     level is equal to or greater than that specified by this parameter.
  5247.  
  5248.     Parameter 126 prevents  the SysOp menu from  being displayed (even if   the
  5249.     user   has  a  security level  of a  SysOp as specified  in parameter  125)
  5250.     unless the user  is also at this security level.
  5251.  
  5252.     Parameter 127 is  the minimum security level  a user must have to  leave an
  5253.     extended (i.e. multiple line description) of a file that was uploaded.  See
  5254.     parameter  40 for the maximum number of  lines that an extended description
  5255.     will be allowed under the single FMS environment.
  5256.  
  5257.     Parameter  128  allows  a  maximum  number  of  security  violations  (i.e.
  5258.     attempts to   download protected files) before  the user is logged  off and
  5259.     locked out.
  5260.  
  5261.     Parameter 129, parameter 130, parameter  131, parameter 132, and  parameter
  5262.     133  allow the SysOp to set   up  the  security   levels  required to issue
  5263.     the commands in  the SysOp, Main Menu, File  Subsystem, Utilities Subsystem
  5264.     (respectively), and global commands.  All the commands in each area can  be
  5265.     given  the same security level  or, optionally, a specific command can   be
  5266.     given a unique security level.
  5267.  
  5268.     RBBS-PC CPC17.3                                                 Page 110
  5269.  
  5270.     Parameter 134  allows  the SysOp  to specify  the maximum  number of  times
  5271.     users  can  change their passwords  in a  given session.   This prevents  a
  5272.     caller from "fishing" for special passwords.
  5273.  
  5274.     Parameter 135 is the minimum security level required in order for  users to
  5275.     change temporarily their  security or   time on  the system via  privileged
  5276.     group passwords.    If users  do not  have the  minimum  security level  to
  5277.     temporarily change their password, ALL password changes that they make will
  5278.     be  permanent  -- even  if the  password  they select  is in  the temporary
  5279.     password file named in parameter 146 of CONFIG!
  5280.  
  5281.     Parameter  136 allows  the  SysOp  to specify a security   level  that  has
  5282.     the  privilege  of  overwriting  files (i.e.   files  that  already  exist)
  5283.     when  uploading.
  5284.  
  5285.     When the SysOp "purges"  the USERS file, all  users who have not  signed on
  5286.     within the number of months specified in parameter 11 are deleted  from the
  5287.     file with the exception of those who have been "locked out" and those whose
  5288.     security level is equal to or greater than that specified in parameter 137.
  5289.  
  5290.     Parameter 138 allows the  SysOp to specify the  security level required  to
  5291.     read new PRIVATE messages.  Only  those with this security level or  higher
  5292.     can read new private  messages -- even if they have been addressed to them.
  5293.     By setting this value higher  than any other user  than that of the  SysOp,
  5294.     the SysOp can  then review all new private messages before allowing them to
  5295.     be seen by  the addressee.  After  reviewing these messages, the  SysOp can
  5296.     change the security level so that the message can be seen by the sender and
  5297.     the addressee.
  5298.  
  5299.     Parameter 139 allows the  SysOp to specify  the security level required  to
  5300.     read new PUBLIC  messages.  Only those  with this security level  or higher
  5301.     can read new public messages.  By setting this value  higher than any other
  5302.     user than the  SysOp, the  SysOp can  then review all  new public  messages
  5303.     before allowing them to be seen.  After reviewing these messages, the SysOp
  5304.     can change the security level so that the message can be seen.
  5305.  
  5306.     Parameter 140 specifies the minimum security  level that is able to  change
  5307.     the security level of a message.
  5308.  
  5309.     RBBS-PC CPC17.3                                                 Page 111
  5310.  
  5311.     9.8 Parameters for RBBS-PC's Security (part 2)
  5312.     -----------------------------------------------
  5313.     Parameter 141 is not implemented in RBBS-PC.
  5314.  
  5315.     Parameter 142  allows the  SysOp to specify  the drive  and path  where the
  5316.     "personal directory" and files  it contains are located.  If  a file listed
  5317.     in the  directory  is not  found here,  the download  drives  will then  be
  5318.     searched,  so it is not necessary to have a copy of a file here in order to
  5319.     be personally downloadable.  However,  the download directory must be here.
  5320.     Parameter  142  allows  the  directory  and/or  files  that are  personally
  5321.     downloadable not to be accessible through the normal download, if desired.
  5322.  
  5323.     The "personal directory"  is utilized by the P)ersonal  download command in
  5324.     the files section of RBBS-PC.  It differs from D)ownload in that
  5325.          (a) only files listed in the directory can be downloaded
  5326.              versus any file that exists,
  5327.          (b) the time to download is not checked against the time
  5328.              remaining, so that the file can be downloaded regardless
  5329.              of how little session time remains,
  5330.          (c) the files downloadable can be constrained to match any
  5331.              field in the user's record (e.g. limited by caller's name
  5332.              so that file is addressed specifically to the caller),
  5333.          (d) the download can be constrained by security level.
  5334.  
  5335.     Parameter 143  allows  the  SysOp to  provide  the name  of  the  "personal
  5336.     directory" -- the  default name is "PRIV".   If no extension  is specified,
  5337.     ".DEF" will be  used.  The personal  directory has a different  format from
  5338.     the other  directory files.   It has a  one-character field after  the file
  5339.     description  used to  mark  whether file  has  been  downloaded.   This  is
  5340.     followed by the field that matches the user record (or has a security level
  5341.     if the first character of the field is blank).
  5342.  
  5343.     Parameter 144 is a way  of specifying the default protocol to be  used when
  5344.     downloading personal files using the "P" command in the file subsystem.  If
  5345.     no protocol  is specified,  the  "P" command  behaves exactly  same as  the
  5346.     D)ownload command.   If a  protocol is  specified, it will  be used  unless
  5347.     overridden by the command line (i.e. "P;test;y").
  5348.  
  5349.     Parameter 145 specifies the  name of the file that contains  a list of file
  5350.     names  that  CANNOT  BE  DOWNLOADED (even if they are  on  the  disks  that
  5351.     are  available for downloading) unless the user supplies a password  and/or
  5352.     is  at  a  specific  security level.   If you want to have no file security
  5353.     at  all, just  put no file names in  this file.  If you include  a password
  5354.     with a file  name  all  users (including one with SysOp privileges) must be
  5355.     able to   give  the  password in order  to download the file.   For a  more
  5356.     detailed  description  of this  file  and how  it  works,  see the  section
  5357.     entitled "How to Implement the Security for Download Files."
  5358.  
  5359.     Parameter  146 specifies   the file  name which  contains  the   privileged
  5360.     group  passwords   that allow users  to change temporarily their  security,
  5361.     time  on  the system, etc. -- if the SysOp has set it up that way.  Callers
  5362.     shift to  a  group   password by changing passwords.  If  the password they
  5363.     select  is found  in the  file containing  the privileged  passwords, their
  5364.     private logon  password is  unchanged and they  receive the  security level
  5365.     and/or time limit  associated with the group password. If you have no group
  5366.  
  5367.     RBBS-PC CPC17.3                                                 Page 112
  5368.  
  5369.     passwords, just put nothing in  this file.  For a more detailed description
  5370.     of this file and how it  works, see the section entitled "How to  Implement
  5371.     the Password File."
  5372.  
  5373.     Parameter  147 provides  the SysOp  with the  mechanism to  allow users  to
  5374.     download multiple files  using the ASCII protocol (i.e.  no error checking)
  5375.     without  any pausing or messages between  files.  This is particular useful
  5376.     if the SysOp wants users to download to a continuous feed printer.
  5377.  
  5378.     Parameter 148 specifies the minimum security  a user must have in order  to
  5379.     be able to "categorize" uploads when the SysOp is using the File Management
  5380.     System  (FMS).  Not all callers who upload files may categorize them in the
  5381.     way that the SysOp wants.
  5382.  
  5383.     Parameter 149 controls  who can view new  uploads based on  security level.
  5384.     If the upload directory is not also the  FMS directory, it is only viewable
  5385.     by those who have a sufficient security level.  If the upload directory  is
  5386.     the FMS directory, the entries with the default categories will be viewable
  5387.     only  if a  caller  has a  security level  equal  to or  greater  than that
  5388.     specified in parameter 149 (all other categories are viewable).
  5389.  
  5390.     Parameter 150 specifies the security level  of those users who will not  be
  5391.     shown the "epilogue" questionnaire.  Typically the "epilogue" questionnaire
  5392.     asks users questions or invites them to register.   Once they have done so,
  5393.     the  SysOp  can  have  their   security  increased  to  this  value  either
  5394.     automatically (i.e. via  the questionnaire's script) or  manually such that
  5395.     the users no longer see the "epilogue" when they sign off.
  5396.  
  5397.     Parameter 151 is the security level required to automatically add a user to
  5398.     a  SEMI-PRIVATE "conference".  This parameter  can only  be  activated when
  5399.     CONFIG  is in  "conference maintenance"  mode  (see parameter  167).   Each
  5400.     message file  has a security level associated with  it which is the MINIMUM
  5401.     SECURITY for  a user  to join it  if the user  is not in  that conference's
  5402.     USERS file.  Callers with the minimum security level specified in parameter
  5403.     151  are  automatically  added  to  the USERS  file  associated  with  that
  5404.     conference if they are not there.
  5405.  
  5406.     RBBS-PC's  "auto-add" security  feature  permits SEMI-PRIVATE  conferences,
  5407.     that are open  to callers with  a certain security  level.  The  "auto-add"
  5408.     capabilities of  RBBS-PC makes  it possible for  SysOps to  have non-public
  5409.     conferences without having to add each desired caller to the user's file.
  5410.  
  5411.     A public  conference is one  whose "auto add"  security level is  no higher
  5412.     than the  default security and  whose USERS file  is the  same as the  main
  5413.     message base's.  This has the advantage of saving disk space (i.e. there is
  5414.     only a single  USERS file) but the disadvantage of not remembering the last
  5415.     message read by the user in each conference.
  5416.  
  5417.     A totally PRIVATE conference is one  that is limited to persons already  in
  5418.     the USERS file associated with that conference and is created by making the
  5419.     "auto add" security level higher than any caller's security.
  5420.  
  5421.     RBBS-PC CPC17.3                                                 Page 113
  5422.  
  5423.     A SEMI-PRIVATE conference is one that  has it's own USERS and welcome  file
  5424.     and whose "auto  add" security level is  set at an intermediate  level that
  5425.     some callers have and some do not.
  5426.  
  5427.     As an example, if  a conference is to be totally public but the user's last
  5428.     message read, preferences, and  security level in the conference are  to be
  5429.     remembered,
  5430.  
  5431.        1.   set the security level required to automatically  add a user to the
  5432.     conference equal to the CONFIG  utility parameter 124 (the default security
  5433.     level for new callers), and
  5434.  
  5435.     2. create a user's file for the conference.
  5436.  
  5437.     All  callers  can join,  and  each  user  is  automatically  added  to  the
  5438.     conference's USER file as they join the conference.
  5439.  
  5440.     If  you want a conference  to be SEMI-PRIVATE set  the security level to be
  5441.     "auto add"ed to  the conference higher than the  default security level for
  5442.     your system  and only those users who have  the security level specified in
  5443.     parameter 151 can join the conference.
  5444.  
  5445.     Parameter 152 is the minimum security level for a caller to "turbo logon".
  5446.     It only applies  to callers that have  called your RBBS-PC system  at least
  5447.     once.  It can be used to bypass everything when a user logs on  (bulletins,
  5448.     welcomes, etc.)  and go  directly to the  either the  main RBBS-PC  menu or
  5449.     directly to a conference.  It only can be utilized when doing a single line
  5450.     log on  and by  following your  password with  an exclamation  point.   The
  5451.     "single line" logon has the format:
  5452.  
  5453.         first name; last name; password;!conference name
  5454.  
  5455.     As an example, a user named "Jon Smith" who called back for the second time
  5456.     and had a password  of "swift" who had been assigned  a security level that
  5457.     permitted  "turbo  logon" privileges  who  wanted  to  go directly  to  the
  5458.     conference "RBBS-PC" could log on with the following sequence:
  5459.  
  5460.         jon;smith;swift;!rbbs-pc
  5461.  
  5462.     Parameter  153 is  the  minimum security  required  by a  caller  to add  a
  5463.     directory entry for an existing file.  Typically this is restricted  to the
  5464.     SysOp only.
  5465.  
  5466.     Parameter 154 is the name  of the help file that is automatically shown (if
  5467.     the  file  exists)  to  a caller  whenever  the  caller  incurs  a security
  5468.     violation.     It is an  ideal candidate  for using  RBBS-PC's personalized
  5469.     "smart" text file capabilities as described in section 6.9.
  5470.  
  5471.     Parameter 155 allows the SysOp to  deny callers access to two of  RBBS-PC's
  5472.     "premium features --  DOORS and file  downloading (either  or both), for  a
  5473.     specific period of time.
  5474.  
  5475.     One of  the two  purposes  of RBBS-PC  is to  foster the  free exchange  of
  5476.     information.   Many  SysOps would  like to  encourage new  callers  to read
  5477.     bulletins and look  at messages when they initially logon.  One approach is
  5478.  
  5479.     RBBS-PC CPC17.3                                                 Page 114
  5480.  
  5481.     to simply restrict new users from  all of the other RBBS-PC features  using
  5482.     RBBS-PC's  extensive  security system.    RBBS-PC provides  an intermediate
  5483.     solution by allowing a SysOp to require a user to be on-line for a specific
  5484.     amount of  time within  a session before  DOORS or file  DOWNLOADS, premium
  5485.     features are available to a caller.
  5486.  
  5487.     This feature  is implemented  by both activating  CONFIG parameter  155 and
  5488.     setting up the PASSWRDS file appropriately, see section 14.4.
  5489.  
  5490.     For each level in the PASSWRDS file, a parameter specifies how many SECONDS
  5491.     the caller must have used before the premium features  are available.  If a
  5492.     caller tries  to use  a locked  feature before  the time  has elapsed,  the
  5493.     caller will be given  a message and denied access.   This is *NOT* recorded
  5494.     as a security violation.  See section 14.4 for a more  detailed description
  5495.     of how to implement this feature in the PASSWRDS file.
  5496.  
  5497.     The file TIMELOCK.HLP should  be placed with the other RBBS-PC  HELP files.
  5498.     This file  (if found)  will  be shown  to a  user who  is locked  out of  a
  5499.     command.   If the TIMELOCK.HLP  file is not  available, the caller  will be
  5500.     given a  "canned" message:  "Sorry, (name), try  that function later."  The
  5501.     example TIMELOCK.HLP uses  SMART TEXT.   If SMART  TEXT is not  implemented
  5502.     with  control code  (123),  the  file TIMELOCK.HLP  should  be modified  as
  5503.     appropriate.
  5504.  
  5505.     Parameter  156 is  the  security level  of  a caller  in  a "sub-board"  or
  5506.     "conference"  who  will  have their  security  level  automatically reflect
  5507.     whatever the security level they are assigned in the main USERS file.  This
  5508.     means  that  on  large  RBBS-PC's  with  many  "sub-boards"   and  "private
  5509.     conferences" the SysOp does not have to update each caller's USER record in
  5510.     the many different USER's  files.  The SysOp need only  change the caller's
  5511.     USER record  in the main  USER file and it  will be reflected  in any "sub-
  5512.     board" or "conference" that the caller joins.
  5513.  
  5514.     Parameter 157 is the minimum security a caller must have to be able to read
  5515.     and kill all messages (in the message base for which this is  a .DEF file).
  5516.     A SysOp of a "sub-board" no longer need be given full SysOp privileges when
  5517.     the SysOp just needs to be able to review and monitor all mail.
  5518.  
  5519.     If  a message  record begins  with an  ASCII  value of  1, it  will not  be
  5520.     displayed to  the caller.   Parameter 158 allows  the SysOp to  specify any
  5521.     character string IN ADDITION to this  that RBBS-PC is to use as a  criteria
  5522.     for not displaying  a record  in the message  file.  The  default value  is
  5523.     "SEEN-BY:".
  5524.  
  5525.     RBBS-PC CPC17.3                                                 Page 115
  5526.  
  5527.     9.9 Parameters for Multiple RBBS-PC's/Conferences
  5528.     --------------------------------------------------
  5529.     RBBS-PC allows multiple  RBBS-PC's to run  in the same  environment/network
  5530.     and share  many of the same files.   If you ever plan to  do this or if you
  5531.     are  going to  do this,  set this  number to  the MAXIMUM  number  you ever
  5532.     envision running.  Up to 36 RBBS-PC's can share the  same files.  Different
  5533.     environments  have   different  maximum  number  of  nodes  that  they  can
  5534.     effectively  support.   Parameter 161  allows  you to  specify the  maximum
  5535.     number of RBBS-PC's that the MESSAGES file should be initialized for.
  5536.  
  5537.     Parameter 162  allows the SysOp to  designate the type of  environment that
  5538.     multiple  copies of RBBS-PC will be sharing files in.  This is necessary so
  5539.     that  RBBS-PC can  use the mechanism  that is  appropriate to  the specific
  5540.     environment when sharing files.  RBBS-PC currently can handle the following
  5541.     environments for multiple RBBS-PC's:
  5542.  
  5543.               1.  MultiLink (The Software Link, Inc.)
  5544.               2.  OmniNet (Corvus)
  5545.               3.  PC-Net (Orchid)
  5546.               4.  DESQview (Quarterdeck Office Systems)
  5547.               5.  10 Net (Fox Research)
  5548.               6.  IBM's NETBIOS
  5549.  
  5550.     NOTE:   Many  manufacturers utilize  Orchid's network  conventions.   As an
  5551.     example,  AST and  Alloy are  both vendor's whose  "network" is  .EXE file-
  5552.     compatible with Orchid's.   If you have  a network of PC's,  check with the
  5553.     vendor to see how compatible their network is with those supported by RBBS-
  5554.     PC.
  5555.  
  5556.     Some local area network environments  are not designed to have applications
  5557.     constantly branch back to the beginning and re-open already open files.  If
  5558.     you are in this environment or simply want to run external programs after a
  5559.     user logs  off or RBBS-PC recycles, parameter 163 allows you to elect to do
  5560.     this.   If you  specify "internal", RBBS-PC  will function  as it currently
  5561.     does and branch  back to its beginning.   If you specify  "system", RBBS-PC
  5562.     will exit  to DOS and (if you  are running RBBS-PC out of  a .BAT file) you
  5563.     can then  automatically invoke any  other "housekeeping" programs  you want
  5564.     before  re-invoking RBBS-PC.   It  should  be noted  that this  will  add a
  5565.     considerably  delay to  RBBS-PC's recycling  time as  RBBS-PC will  have to
  5566.     reloaded back into memory every time it recycles.
  5567.  
  5568.     Like the MESSAGES file,  the USERS file must  also be static in  length for
  5569.     RBBS-PC.  Parameter 164 allows the SysOp to set the size of the USERS file.
  5570.     RBBS-PC automatically keeps track of the  records available for use in this
  5571.     file and does the  necessary "housekeeping."   To do  this RBBS-PC requires
  5572.     the  USERS file size (i.e. the number of records in it) to be a power of 2.
  5573.     When the USERS  file get full  (i.e. all its records  are used up)  and the
  5574.     SysOp neither  "packs" it nor increases the size of  the file, no new users
  5575.     will be able to be added to the users until one of these two events occurs.
  5576.     Parameter 291 lets new users get on even if the users file is full.
  5577.  
  5578.     RBBS-PC  requires  that the  "Messages"  file  be  static in  length.    It
  5579.     automatically  keeps  track of  the  next  record  available and  does  the
  5580.     necessary housekeeping to maintain the integrity of the file. Parameter 165
  5581.     allows the  SysOp to set the size of this file.  When the MESSAGES file get
  5582.  
  5583.     RBBS-PC CPC17.3                                                 Page 116
  5584.  
  5585.     full (i.e.  all its records are used  up) and the SysOp  neither "packs" it
  5586.     nor increases the size of the file, no  one will be able to leave a message
  5587.     until one of these two events occurs.
  5588.  
  5589.     The minimum  size of  the MESSAGES  file is  equal to  1 (The  "checkpoint"
  5590.     record) plus the  maximum number of  concurrent RBBS-PC's ("node"  records)
  5591.     plus the maximum number of messages allowed multiplied by  5 (each messages
  5592.     is assumed to average five 128-byte records)
  5593.  
  5594.     Therefore, if parameter  161 of CONFIG where 12 and parameter 165 of CONFIG
  5595.     where  50, the  minimum  number  of records  that  could  be specified  for
  5596.     parameter 125 would be
  5597.        1 (The "checkpoint record)
  5598.      + 12 (The number of "node" records)
  5599.      +250 (50 messages x 5 128-byte records each)
  5600.      ----
  5601.       263 records for the MESSAGES file
  5602.  
  5603.     Parameter  166 lets you set the  maximum number of messages that the  SysOp
  5604.     will  allow on the   system at any  one time.   The number will  have to be
  5605.     based on the size  of  the  average  message on  your bulletin board.  Most
  5606.     messages  require about   600  bytes   on the average.   The absolute upper
  5607.     limit on the number of messages  is  999.  If you specify 250 messages, you
  5608.     can expect that the MESSAGES  file  will be formatted to  more than 160K in
  5609.     size.
  5610.  
  5611.     Parameter 167 allows  "conference" files to be maintained.   A "conference"
  5612.     consists  of  a  message  file   and,  if  a  "private"  or  "semi-private"
  5613.     conference, a  corresponding users file.  The name of the conference can be
  5614.     anything that the  SysOp selects but can  not be longer than  7 characters.
  5615.     The message  file's name for a  conference consists of  the conference name
  5616.     plus  the  characters  "M.DEF".    The user  file's  name  associated  with
  5617.     "private" conferences  consists of the conference name  plus the characters
  5618.     "U.DEF".
  5619.  
  5620.     Parameter 167  allows the SysOp  to create, expand,  or contract either  or
  5621.     both of the  files associated with a  "conference."  This occurs  ONLY when
  5622.     the  SysOp "ENDs"  the  CONFIG  session by  pressing  the  key marked  END.
  5623.     Parameter 167 allows the SysOp to perform all the utility functions on page
  5624.     10 of CONFIG on the conference that was named/selected with parameter 167.
  5625.  
  5626.     To  make a  "private" conference "semi-private",  see the  discussion under
  5627.     parameter  151.  For a further discussion  of "conferences" see sections 18
  5628.     and 15.
  5629.  
  5630.     Parameter 168 is the file extension  to be automatically added to the  name
  5631.     of any uploaded file that has no  extension specified by the caller.  RBBS-
  5632.     PC will not permit  a file to be  uploaded if the file name  being uploaded
  5633.     already exists but has  the default extension.   As an example if a  caller
  5634.     attempted to upload TEST.ARC and
  5635.  
  5636.          1.  the file TEST.ZIP existed and
  5637.          2.  parameter 168 specified ZIP, then
  5638.  
  5639.     the caller would be told that a duplicate file existed.
  5640.  
  5641.     RBBS-PC CPC17.3                                                 Page 117
  5642.  
  5643.     Parameter 169 lets the SysOp specify extensions in addition to the default,
  5644.     to  search when looking for  an uploaded file,  to decide if  it is already
  5645.     present.   A file will  be counted as  already on  the board if  the prefix
  5646.     matches.   Warning:   this search  can be  time consuming  unless you  have
  5647.     installed the Fast File Search.  Every extension listed should begin with a
  5648.     period.  E.g. ".ARC.PAK" would count an upload of XYZ.ZIP as a duplicate if
  5649.     the file XYZ.PAK or XYZ.ARC exists.
  5650.  
  5651.     Parameter 170 allows  the MESSAGE files to "grow."   The need for  having a
  5652.     pre-allocated MESSAGE  file was dictated  by the limitations of  the Corvus
  5653.     Network software.   Since none of  the other networks supported  by RBBS-PC
  5654.     have this  limitation,  parameter 169  allows a  SysOp to  setup a  nominal
  5655.     message  file (say  500  records) and  allow  it to  grow  as user's  leave
  5656.     messages.  Note:  this lets the message file have up to 32,767 records.  It
  5657.     does not remove  the maximum  on the  number of messages  that RBBS-PC  can
  5658.     handle (up to 999).
  5659.  
  5660.     RBBS-PC CPC17.3                                                 Page 118
  5661.  
  5662.     9.10 RBBS-PC SysOp Utilities
  5663.     -----------------------------
  5664.     The  message  file contains  all messages  for   the   RBBS-PC system.   As
  5665.     messages are  killed they  are only  flagged as  inactive.   Parameter  181
  5666.     should be  used periodically to recover the space  occupied  by  the killed
  5667.     messages.  After  completion, only  the text  of active messages   will  be
  5668.     present and  the old file will  remain on the system with  the qualifier of
  5669.     ".OLD".   Also, you will need enough  free disk space for a  second copy of
  5670.     the messages file (with a qualifier of  ".BAK") when packing a message file
  5671.     or  the packing cannot  be   performed.  If  enough  space is not found the
  5672.     packing  will  terminate abnormally and the message file will be recovered.
  5673.  
  5674.     Parameter 182 removes deleted users and  users who  have  not   been on the
  5675.     system  within the number of months specified using parameter 16 in CONFIG.
  5676.     You  should   have enough  free disk space for  a second copy of  the users
  5677.     file (with  a  qualifier of  ".BAK") or  the   rebuilding   will  terminate
  5678.     abnormally (the users file will be restored).  It is important to note that
  5679.     beginning with CPC12-5A,  users files are no  longer a random file  that is
  5680.     accessed sequentially but  now is a random file  that is accessed directly.
  5681.     When a user  logs on to RBBS-PC  or joins a "conference",  RBBS-PC "hashes"
  5682.     the users name to find the users record directly.  That is  why every users
  5683.     file's size is a power of  2 (i.e. 256, 1024, etc.).  This  allows users to
  5684.     log  on much more  quickly to RBBS-PC's  that have  a very large  number of
  5685.     users.
  5686.  
  5687.     Parameter 183 will display the message headers  of all messages, active and
  5688.     killed, that are present in  the message file.  This is left  over from one
  5689.     of the many  "debugging" stages of RBBS-PC  prior to CPC09.   Following the
  5690.     policy of making  all changes "additive", this function  has been retained.
  5691.     It may help some SysOps recover from disk hardware failures.
  5692.  
  5693.     Parameter 184  permits messages  to be renumbered   sequentially   starting
  5694.     from a  specified message   using   whatever  starting   number   you wish.
  5695.     Please note that there is not much error checking to be  sure  that the new
  5696.     numbers do  not duplicate those of lower numbered   active  messages.  When
  5697.     complete, the next message  to be created will  be the next  higher  number
  5698.     from the resequence.  Unpredictable results  will occur if a SysOp  creates
  5699.     messages with duplicate numbers!
  5700.  
  5701.     Parameter 185  goes through the  current message file and  reconstructs the
  5702.     chains that link the  messages together.   Message files that have  "blank"
  5703.     messages or  abbreviated messages (i.e. some lines of text are missing) can
  5704.     be repaired with this facility.
  5705.  
  5706.     Parameter 186 allows the SysOp to require all users (old and new) to answer
  5707.     the required questionnaire whose name was specified in parameter 82.
  5708.  
  5709.     Parameter 187 allows the SysOp to determine whether the format of the RBBS-
  5710.     PC directory  of files  being used  by the  RBBS-PC File  Management System
  5711.     (FMS) conform to the exact  fixed format required by  the FMS (in case  the
  5712.     text editor used  by the SysOp  to edit the  file inserted tabs  or shorten
  5713.     lines that had trailing blanks at the end of them).
  5714.  
  5715.     RBBS-PC CPC17.3                                                 Page 119
  5716.  
  5717.     Parameter 188  allows  the SysOp  to determine  whether the  format of  the
  5718.     personal downloads directory is in the proper format for a single FMS.
  5719.  
  5720.     Parameter 189  is a  utility that  will guide  a  new SysOp,  sequentially,
  5721.     through the parameters that would normally  have to be changed when setting
  5722.     up a new RBBS-PC.
  5723.  
  5724.     Parameter 190 is  a utility that will guide  a SysOp, sequentially, through
  5725.     the parameters that are new and/or changed for the current release of RBBS-
  5726.     PC.
  5727.  
  5728.     Parameter 191 is a utility that will turn the "printer enabled" flag off in
  5729.     all  the  node  records.    This  is  useful  if  somehow  the  printer  is
  5730.     accidentally  enabled  when  no  printer  is  available  because  the  code
  5731.     generated by the BASIC compiler doesn't recover from this condition.
  5732.  
  5733.     Parameter 192 allows the SysOp to select how "highlighting" of text will be
  5734.     treated.  This prevents  users who have not elected to  have color graphics
  5735.     from seeing meaningless data  imbedded in the  displayed text.  Putting  in
  5736.     nothing disables color prompts and  highlighting of search strings.   For a
  5737.     more complete explanation of RBBS-PC's display of colors to callers in text
  5738.     files see section 6.10.
  5739.  
  5740.     RBBS-PC CPC17.3                                                 Page 120
  5741.  
  5742.     9.11 RBBS-PC's File Management System Parameters
  5743.     -------------------------------------------------
  5744.     Parameter 201  specifies  the  letter  of the  single  drive  available  to
  5745.     this copy of RBBS-PC to which uploaded files can be written. When a file is
  5746.     uploaded, the file specified by  CONFIG parameter 202 will be automatically
  5747.     appended  with  the  file  name,  file  size, date  of  upload,  and  short
  5748.     description as specified by the user.
  5749.  
  5750.     Parameter  202 of the  CONFIG program asks for the name of   the  text file
  5751.     to be used as an RBBS-PC "directory" of files  into  which the  file  name,
  5752.     file  size, and  file  description  of uploaded files can be recorded.  The
  5753.     default name  is 99.DIR  and   it must be  on the  drive/path specified  in
  5754.     parameter 203.
  5755.  
  5756.     Parameter 203 specifies the drive/path were  the upload directory is to  be
  5757.     found.
  5758.  
  5759.     Parameter 204 specifies the letters of the drives from which files  can  be
  5760.     downloaded.   The  order in which they are specified is the order in  which
  5761.     the  drives will  be searched.  If the order is BAC, then  drive B will  be
  5762.     searched   first for the file, then  drive A, and finally drive   C.  While
  5763.     there can be duplicate files on  each of the drives, the first file   found
  5764.     will be the one downloaded to the user.
  5765.  
  5766.     Parameter 205 allows the  SysOp to indicate that DOS  subdirectories are to
  5767.     be used  by  allowing the  number  of DOS  subdirectories  to be  used  for
  5768.     downloading  to be  specified (0 to  9999).   This number  is equal  to the
  5769.     number  of DOS subdirectories to  be used for  uploading (0 or  1) plus the
  5770.     number of DOS subdirectories to be used for downloading.
  5771.  
  5772.     Parameter 206  allows the SysOp to  indicate the DOS  subdirectory to which
  5773.     uploads are to be written.  RBBS-PC  will prepend the upload disk drive  to
  5774.     it  (see  parameter 201)  and append  the  upload file  name after  it when
  5775.     uploads are written to disk.
  5776.  
  5777.     Parameter 207 allows the  SysOp to indicate that DOS  subdirectories are to
  5778.     be used  when searching  for files on  downloading. A valid  download drive
  5779.     followed by a colon, a reverse backslash, and the subdirectory name that is
  5780.     to be  searched must  be entered.   If  the root  directory is  also to  be
  5781.     searched,  just enter  a  valid download  drive followed  by a  colon. Each
  5782.     download disk  drive is  searched for only  those subdirectories  that were
  5783.     specified  as  existing  on  that  specific  drive.  If  two  download  DOS
  5784.     subdirectories are  specified (A:\TEST1 and B:\TEST2) and two download disk
  5785.     drives for parameter 204 (A and B),  the search for a download file will be
  5786.     in the following order:
  5787.  
  5788.             A:\TEST1\filename
  5789.             B:\TEST2\filename
  5790.  
  5791.     It is possible  to have the  same subdirectory  name on different  download
  5792.     drives.    Each would  have  to  be  individually specified  (A:\GAMES  and
  5793.     B:\GAMES   If  they where,  the  search for  a  download file  would be  as
  5794.     follows:
  5795.  
  5796.             A:\GAMES\filename
  5797.  
  5798.     RBBS-PC CPC17.3                                                 Page 121
  5799.  
  5800.             B:\GAMES\filename
  5801.  
  5802.     Parameter  208 is  only functional  if you have  responded "Yes"  to either
  5803.     parameter 206 or parameter 207.   This parameter allows the SysOp to  list,
  5804.     change,  add, or  delete  the  DOS subdirectories  to  be  used for  either
  5805.     uploading (parameter 206) or downloading  (parameter 207).  CONFIG does NOT
  5806.     actually create or delete such DOS subdirectories -- that's up to the SysOp
  5807.     to  do using the  standard DOS commands.   Parameter 208  simply allows the
  5808.     SysOp to identify which DOS subdirectories will (or may) exist when RBBS-PC
  5809.     is running.
  5810.  
  5811.     Parameter  209 allows  the SysOp  to specify  the extension  that RBBS-PC's
  5812.     "directories" of  files are to  have. See section  13 for a  description of
  5813.     RBBS-PC's  "directories" of files.-- they  have no relation  to DOS 2.x and
  5814.     above subdirectories!  Most SysOps  categorize the files that are available
  5815.     for downloading into general groups  (games, utilities, etc.).  The default
  5816.     is "DIR".
  5817.  
  5818.     Parameter   210  specifies  the  alternative  extension   to  be  used  for
  5819.     "directory" files.   The main use for an  "alternate" extension is to allow
  5820.     "sub-boards" to share directories using the main extension (parameter 209),
  5821.     but  also have  some directories  unique to  the "sub-board"  that are  not
  5822.     shared with others.
  5823.  
  5824.     The name  of the directory  of directories is  specified in parameter  211.
  5825.     This  allows  sub-boards  with  the  same extension  to  have  a  different
  5826.     directories of directories.  The main RBBS-PC system might have a directory
  5827.     of directories named MAIN.DIR where  parameter 211 was "MAIN" and parameter
  5828.     209  was "DIR".   A sub-board might  have a directory  of directories named
  5829.     BETA.DIR where parameter 211 was "BETA" and parameter 209 was "DIR".
  5830.  
  5831.     Parameter 212 allows  the SysOp to exclude the  primary directory (DIR.DIR)
  5832.     from  the    search   done  by  the  New command.    If  you  have multiple
  5833.     directories  (i.e.  RBBS.DIR  through  BASIC.DIR), any dates in the primary
  5834.     directory would not  be  of  files.   The  "New"  command (as  in "What new
  5835.     files have been  put  on  the  download  directories since I was last on?")
  5836.     search each  line of each  file   whose extension is DIR  for a date field.
  5837.     Since  the  first level  directory  is  normally  a  listing of  the  other
  5838.     directories and their  general subject areas, it  is advisable to omit  the
  5839.     first level directory from the "New" command.
  5840.  
  5841.     Descriptions of files uploaded are always appended to the upload directory.
  5842.     Parameter 213 allows  the description to be appended to another file.  This
  5843.     could be, for example, a list of all  files on the system, or the basis for
  5844.     a bulletin reviewing the uploads.
  5845.  
  5846.     Parameter 214 is how the SysOp declares  that there is a shared, single FMS
  5847.     directory.   Leave it  blank if there  is none.   Section  13 discusses  in
  5848.     detail  the advantages  of  using  this directory,  which  has a  different
  5849.     structure from other directory files.  This file must be in  the drive/path
  5850.     for directories.
  5851.  
  5852.     RBBS-PC CPC17.3                                                 Page 122
  5853.  
  5854.     Users who upload  can classify uploads into a category if their security is
  5855.     at least as high as the level  specified in parameter 148.  This option can
  5856.     save  the SysOp  considerable time.   If the  uploader cannot  classify the
  5857.     upload, it goes  only to the upload directory and uses the default category
  5858.     code if written to the FMS directory.
  5859.  
  5860.     If  you  do  NOT want  users  to  categorize the  files  that  they upload,
  5861.     independent of  whether or  not you are  using FMS,  simply set  the CONFIG
  5862.     parameter 148 to a security level higher  than any user can obtain.  If the
  5863.     uploader  cannot classify the upload, it goes  only to the upload directory
  5864.     and uses the default category code if written to the FMS directory.
  5865.  
  5866.     If you  DO want  users to categorize  the files that  they upload  you must
  5867.     follow these four steps:
  5868.  
  5869.          1.   Set  CONFIG parameter 148  to the  security level of  the U>pload
  5870.     command.
  5871.          2.  Create a help file to show users when they are asked to categorize
  5872.     an uploaded file that might look something like:
  5873.  
  5874.              Category    Category    Description
  5875.                Code        Name
  5876.  
  5877.                 1        Utilities   General Utilities
  5878.                 2        Games       Games
  5879.                 3        RBBS-PC     RBBS-PC files
  5880.                 4        RBBS-UTIL   Utilities for RBBS-PC
  5881.  
  5882.          3.  Set CONFIG parameter 67  to the name of the file that  you created
  5883.     for step 2
  5884.  
  5885.          4.  If,  and ONLY if, you are  using the FMS, create a  second file in
  5886.     the format  described in section 11.4  for parameter 217 and  set parameter
  5887.     217 to the name of the file created in this format.
  5888.  
  5889.     Set  parameter 215 to "YES" if there  are no directories other than the FMS
  5890.     directory.  That  increases the speed of  RBBS-PC because it does  not look
  5891.     for  additional directories.  If you do not have a shared directory or have
  5892.     a hybrid  system with  some physically distinct  directory files,  set this
  5893.     parameter to "NO".
  5894.  
  5895.     Parameter 216 is the default category code  for uploads.  This parameter is
  5896.     how uploads  get classified  in the  FMS directory  if the uploader  cannot
  5897.     provide a  classification.  To  make all  new uploads private  and viewable
  5898.     only  by  the SysOp  (until the  SysOp  reviews the  files and  changes the
  5899.     classification), set the default code to  "***".  The default is "UNC"  for
  5900.     UNClassified.
  5901.  
  5902.     Parameter  217 is  the  name of  the  text file  which  tells RBBS-PC  what
  5903.     categories  are included in  the shared FMS  directory.  The  format of the
  5904.     file is described in section 11.5.
  5905.  
  5906.     Parameter 218 allows the SysOp  to specify what directories will  be listed
  5907.     in a request  for "all" directories.   This parameter is REQUIRED  in order
  5908.     for "all"  to be  defined as  an option.   Begin with  "@" if  you want  to
  5909.  
  5910.     RBBS-PC CPC17.3                                                 Page 123
  5911.  
  5912.     specify a  list of directories.   For example,  "@C:\RBBS\ALLDIR.LST" means
  5913.     that the text file "ALLDIR.LST" on drive C in subdirectory  ALLDIR contains
  5914.     a list of directories  to search when "all" is specified.   The directories
  5915.     in ALLDIR.LST should use the same names as the caller would type in, one to
  5916.     a line.   E.g. if "all" is  the search directories  1,3, and 4,  ALLDIR.LST
  5917.     should contain
  5918.                               1
  5919.                               3
  5920.                               4
  5921.  
  5922.     You can also specify a specific directory to confine all to by including an
  5923.     entry not  beginning with "@",  e.g. "BEST" would list  directory BEST.DIR,
  5924.     located in the  drive/path specified where directory files go.  If you want
  5925.     "all" to search nothing, just press Enter in response to this parameter.
  5926.  
  5927.     Parameter 219 sets  the maximum length of the description that can be given
  5928.     to  an uploaded file.  RBBS-PC can be  configured so that  those who upload
  5929.     files can provide a description of the  file they upload.  This description
  5930.     informs others what the file does  and helps them decide whether they  want
  5931.     to download the files.  The maximum length of the description can be set to
  5932.     any value between 40  and 46.   WARNING:  this option  will not change  the
  5933.     length of existing directories.
  5934.  
  5935.     Parameter  220 specifies  where all  directory  files must  be put,  except
  5936.     possibly for the upload directory.  Only in this DOS directory does RBBS-PC
  5937.     look for RBBS-PC   directory files, with  the sole exception of  the upload
  5938.     directory when the caller's security  level permits the upload directory to
  5939.     be viewed (see parameter 149).
  5940.  
  5941.     RBBS-PC CPC17.3                                                 Page 124
  5942.  
  5943.     9.12 Communications Parameters (part 1)
  5944.     ----------------------------------------
  5945.     Parameter  # 221 requests the user to specify the communication  port  that
  5946.     RBBS-PC  will use.  If  you specify COM0, RBBS-PC will run on  a PC without
  5947.     using a communications port  or modem and still appear to the PC user as if
  5948.     they were accessing RBBS-PC remotely.  This "workstation" feature can allow
  5949.     RBBS-PC to be used in a local area network environment where each  of up to
  5950.     36 PC's can access  the central RBBS-PC system (on the  LAN server) and use
  5951.     RBBS-PC  for  electronic   mail  within  the   LAN.    Alternatively   this
  5952.     "workstation" mode can be  used to teach users  how to access RBBS-PC in  a
  5953.     classroom environment without requiring telephone access.
  5954.  
  5955.     The BASIC language can only support COM1 and COM2, and when either of these
  5956.     are selected and you specify that you will not be using  a "FOSSIL" driver,
  5957.     RBBS-PC will use the  built-in BASIC support for remote access  (i.e. via a
  5958.     communications port and a modem).
  5959.  
  5960.     However, RBBS-PC will interface with "FOSSIL" drivers that support not only
  5961.     COM1 and  COM2 but  also COM3 through  COM8.  If  you use parameter  221 to
  5962.     indicate that  RBBS-PC is  to access  the communication port  via a  FOSSIL
  5963.     driver, the FOSSIL  interface (FOSSCOMM.OBJ) written by Daan  Van der Weide
  5964.     will be used.  FOSSCOMM.OBJ provides access to whatever FOSSIL drivers that
  5965.     are  installed on the  PC running RBBS-PC.   In a multi-tasking environment
  5966.     such as DESQview up to 8 copies of RBBS-PC can run simultaneously accessing
  5967.     COM1 to COM8, respectively,  using Ray Gwinn's X00.SYS device  driver.  Ray
  5968.     can be  reached via FidoNet (109/639) or the  RENEX bulletin board at (703)
  5969.     494-8331 or (703) 690-7950.
  5970.  
  5971.     Parameter 222 allows the SysOp to specify the number of seconds  that RBBS-
  5972.     PC should wait after  initializing the modem with a "reset"  command.  Most
  5973.     modems require only 2 seconds, however some may require much (MUCH) longer.
  5974.     If the 2  second default is not  sufficient consult with your  modem vendor
  5975.     and try different settings.
  5976.  
  5977.     Parameter 223 allows the SysOp to specify how long to wait prior to issuing
  5978.     a  modem command.  This is most  useful when you have configured RBBS-PC to
  5979.     only issue commands between rings and want the modem to "settle down" after
  5980.     a ring  has ended.  The  default setting is one  second.  If you  find that
  5981.     2400 baud calls are  improperly connected at 1200 baud, increase  the wait.
  5982.     Some modems take longer to connect at 2400 than at lower speeds.
  5983.  
  5984.     Parameter 224  specifies  the number of rings to wait  before answering the
  5985.     phone.   Specifying zero  rings means  that the  modem (not RBBS-PC!)  will
  5986.     answer the phone as soon as it rings.
  5987.  
  5988.     If you specify the number ONE, RBBS-PC will wait for the phone to ring  and
  5989.     then instruct the modem  to answer the phone.  This  is the default setting
  5990.     and requires that  the modem be capable  of indicating to RBBS-PC  that the
  5991.     phone is  ringing --  either providing  the "ring  indicator" signal  via a
  5992.     modem cable  that  has PIN  22 connected  at both  ends OR  by sending  the
  5993.     characters "RING" each time the phone rings.
  5994.  
  5995.     Specifying a  number equal to  ZERO (and not specifying  "ring-back") means
  5996.     that RBBS-PC  will initialize the  modem to automatically answer  the phone
  5997.     (independent of RBBS-PC) and RBBS-PC will simply wait for carrier detect to
  5998.  
  5999.     RBBS-PC CPC17.3                                                 Page 125
  6000.  
  6001.     occur.  This is NOT RECOMMENDED.   However, if your non-Hayes modem  simply
  6002.     is incapable of  indicating that the phone  is ringing or your  modem cable
  6003.     does not have PIN 22 connected, this is the option  you will have to elect.
  6004.     If  this option  is selected, you  will be  reminded that you  are shooting
  6005.     yourself in the foot by allowing exiting to DOS remotely (either  through a
  6006.     "door" or via   the SysOp function 7) when activating  "doors" in parameter
  6007.     101.   This is because in this mode (the  modem answering the phone and NOT
  6008.     RBBS-PC),  if you  were inadvertently  disconnected  while in  DOS or  in a
  6009.     "door", the next person to dial your  system would be connected to wherever
  6010.     you were because the modem (not RBBS-PC) is answering the phone.
  6011.  
  6012.     If you specify a number greater than 2 means that RBBS-PC will either:
  6013.  
  6014.     1.  wait until the specified number of rings to answer the phone, or
  6015.  
  6016.     2.  answer the next call after the current one after the specified
  6017.         number of rings specified provided that the next call comes
  6018.         within 45 seconds after the first call stops ringing the phone.
  6019.         This mode is called RING-BACK.
  6020.  
  6021.     Specifying a number  greater than one  is useful only  when a single  phone
  6022.     line can receive both voice (i.e. callers who wish to speak with the SysOp)
  6023.     and data calls (i.e. for RBBS-PC) on an unscheduled basis.  In this type of
  6024.     environment (i.e. a random  mix of voice and RBBS-PC calls),  there are two
  6025.     ways a SysOp can set up RBBS-PC so that RBBS-PC can automatically determine
  6026.     if the call is for the SysOp or for RBBS-PC.
  6027.  
  6028.     First, the SysOp  can establish the rule with the callers that if unable to
  6029.     personally answer  the phone, then  RBBS-PC will answer the  phone after it
  6030.     rings the number of times specified in parameter 224.  Callers can let  the
  6031.     phone ring and (if it is not  answered by a person within some agreed  upon
  6032.     number rings) know that it will be answered by RBBS-PC.  This is useful  to
  6033.     those who  may have either hearing or speech problems and are unable to use
  6034.     the telephone conveniently for voice communications.
  6035.  
  6036.     A second approach is  the more classic, "ring-back" approach.   RBBS-PC can
  6037.     be told to NEVER answer  the first call (it  can ring forever!).   However,
  6038.     should the caller  WAIT A MINIMUM OF  12 SECONDS (a Hayes  restriction) and
  6039.     call back no later  than 45 seconds after the last ring  of the first call,
  6040.     RBBS-PC  will answer  the  call after  the  number  of rings  indicated  in
  6041.     parameter 224 provided that the number  of rings is set to between one  and
  6042.     five. If callers want to make a voice contact, they can simply call and let
  6043.     the phone  ring until it is answered. If you have a dedicated line for your
  6044.     RBBS-PC (either full-time or on a scheduled basis), parameter 224 should be
  6045.     set to ZERO.
  6046.  
  6047.     Parameter 225 provides the SysOp with the capability of selecting ANY modem
  6048.     commands appropriate for the modem being used -- not just the default Hayes
  6049.     commands RBBS-PC would  normally use.  Before the  default RBBS-PC standard
  6050.     Hayes commands are changed, you should thoroughly understand the modem that
  6051.     your  are  using and  the  modem commands,  as  used by  RBBS-PC,  that are
  6052.     described in section 10.
  6053.  
  6054.     Parameter 226 allows the software-based  MNP to be optional within RBBS-PC.
  6055.     REGRETTABLY, this option  can not be selected with version  CPC17-2A.  This
  6056.  
  6057.     RBBS-PC CPC17.3                                                 Page 126
  6058.  
  6059.     is because  it was  not possible to  resolve the  linkage incompatibilities
  6060.     between the  new compilers and the MNP  library and RBBS-PC interface prior
  6061.     to the release  of CPC17-2A.   Every effort is being  made to correct  this
  6062.     particular problem.   However,  RBBS-PC does support  MNP protocol  that is
  6063.     hardware-based (i.e. built into the calling and answering modems).
  6064.  
  6065.     Some SysOps  may not wish  to provide  their users with  the choice  of MNP
  6066.     protocol (especially if they are employed by a company that has a competing
  6067.     protocol).  RBBS-PC's  features  and growth are designed to  be "additive."
  6068.     This  parameter allows  each  SysOp to  decide  if MNP  protocol  is to  be
  6069.     available for  file transfers.   Microcom's error-free  protocol, MNP,  has
  6070.     been available for  file transfer beginning with version  CPC12-4A of RBBS-
  6071.     PC.
  6072.  
  6073.     Parameter 227 allows  the SysOp  to tell  RBBS-PC either to  wait to  issue
  6074.     commands in-between rings or to issue modem commands without waiting.  Some
  6075.     modems cannot both  handle the telephone ringing and  accept modem commands
  6076.     simultaneously.  Other modems, like the Hayes, can handle such simultaneous
  6077.     demands.  For  these later (i.e. Hayes, Prometheus,  Multi-Tech, etc.) this
  6078.     option should be set to "NO."
  6079.  
  6080.     Some 2400  baud modems (like  the Hayes) MUST  be opened initially  at 2400
  6081.     baud because when they automatically  answer the phone they can only  "bump
  6082.     down" when  automatically detecting baud rate (i.e.  from 2400 down to 1200
  6083.     down to 300).  Parameter 228 allows  the SysOp to  select the baud  rate at
  6084.     which RBBS-PC is to open the modem at initially.
  6085.  
  6086.     The SysOp can select the number of seconds RBBS-PC will allow a  user to be
  6087.     "idle" (i.e. not  sending or receiving data)  via parameter 229.   Before a
  6088.     user is  logged off, a  warning message is  issued.  If  the caller remains
  6089.     idle for the following 30 seconds the caller is automatically logged off.
  6090.  
  6091.     Parameter 230  allows the SysOp to indicate if a "dumb" modem is being used
  6092.     (i.e. one that will answer the phone and  automatically detect the caller's
  6093.     baud rate if it is the modem was opened for).  Selecting this means that no
  6094.     modem commands are written to the modem.
  6095.  
  6096.     If  the SysOp has a non-Hayes modem (i.e. one that will not recognize Hayes
  6097.     commands and will not return  Hayes responses) that will only "auto-answer"
  6098.     the  phone, parameter  230 allows the  SysOp to  so indicate to  RBBS-PC by
  6099.     selecting  "dumb"  modem.    Typically this  would  be  some communications
  6100.     network (i.e.  TymnNet) or local area network that supplied a simple RS-232
  6101.     interface.  Selecting this option causes RBBS-PC to
  6102.  
  6103.          1.  Issue no Hayes commands,
  6104.          2.  Depend on no Hayes-like responses,
  6105.          3.  Control the interface with the Data Terminal Ready (DTR),
  6106.          4.  Assume somebody has called whenever Carrier Detect (CD) is
  6107.              detected, and
  6108.          5.  Assume that whomever calls is at the baud rate selected in
  6109.              CONFIG parameter 228.
  6110.  
  6111.     The  Hayes 2400  baud modem  has no  hardware  switches.   It's remembered,
  6112.     permanent settings can be  set only through software.   Parameter 231  will
  6113.     properly initialize a Hayes 2400 modem for use with RBBS-PC.
  6114.  
  6115.     RBBS-PC CPC17.3                                                 Page 127
  6116.  
  6117.     Parameter 232  is the time  to wait after  dropping DTR.   This is used  in
  6118.     RBBS-PC for dropping the connection after a caller logs off normally.   Too
  6119.     short a delay  will cause  the modem  not to re-initialize  properly.   The
  6120.     default time is 3 seconds.
  6121.  
  6122.     In order to  provide the maximum  flexibility (and get  RBBS-PC out of  the
  6123.     protocol writing business), RBBS-PC supports  external protocol drivers via
  6124.     a standard  interface.  The  external protocol driver for  YMODEM, YMODEMG,
  6125.     IMODEM is the file QMXFER.EXE.   The external protocol driver  for WINDOWED
  6126.     XMODEM  is  WXMODEM.EXE.    The  external protocol  driver  for  KERMIT  is
  6127.     PCKERMIT.EXE.   These  protocols  work  only if  the  external drivers  are
  6128.     available and defined  in the file  specified by parameter  233.  Also  see
  6129.     sections 19.1 and 20.2 on how these drivers are invoked.
  6130.  
  6131.     RBBS-PC  can  check right  after  a  caller logs  on  whether the  caller's
  6132.     communication  program  supports autodownload.    Turning on  parameter 234
  6133.     means that  RBBS-PC will  always do  this check.   However,  this check  is
  6134.     incompatible with some terminals and  communications packages, causing them
  6135.     to  stop displaying on the local  screen.  If the  check is passed, RBBS-PC
  6136.     announces that autodownload is available  and asks callers if they  want to
  6137.     use it.   This check is unnecessary  for autodownload to work.   The caller
  6138.     can  control whether  autodownload  is  used with  the  T)oggle command  in
  6139.     utilities.  It is recommended that this option NOT be enabled.
  6140.  
  6141.     Parameter 235 allows  the SysOp to tell RBBS-PC that files ending in binary
  6142.     file  extensions (i.e. .ARC, .EXE, .COM, .OBJ, .WKS, .BAS, or  whose second
  6143.     letter of  the   extension  is Q)  can not  be downloaded  unless the  user
  6144.     selects a  non-ASCII protocol.   This should  eliminate some  user problems
  6145.     before they occur.  IBM's  BASIC  interpreter's  SAVE command default is to
  6146.     write  files in  a special binary format (also referred  to as 'tokenized')
  6147.     because they require much less disk space.
  6148.  
  6149.     Parameter 236  allows a SysOp to use some of the "less than perfect" modems
  6150.     that have a tendency  to "go to sleep" under rigorous  usage.  Setting this
  6151.     parameter to a non-zero value, means that RBBS-PC will re-cycle if no calls
  6152.     are  received after the specified  non-zero value number  of minutes.  When
  6153.     re-cycling RBBS-PC resets the modem --  hence "wakes it up" if it  has gone
  6154.     to sleep.   A setting  of 10 minutes is  recommended for busy  lines and 60
  6155.     minutes for less busy lines.  Specifying  0 means that RBBS-PC will not re-
  6156.     cycle if no calls are received, but simply wait for the next caller.
  6157.  
  6158.     Parameter 237  allows the SysOp to leave the modem  at the baud rate it was
  6159.     initially opened at rather than automatically matching the baud rate of the
  6160.     caller.  RBBS-PC normally changes the baud rate in the RS-232  interface to
  6161.     match that  of the callers.   Some modems will  match the baud  rate of the
  6162.     incoming caller and allow the PC  to continue communicating with it at  the
  6163.     baud rate the modem was opened at (the modem buffers it down to the callers
  6164.     baud).   Some 9600  baud modems will  allow the PC  that they are connected
  6165.     with to transfer data to them at 19,200 baud and the modem will talk to the
  6166.     caller at whatever the baud rate of the incoming callers modem is set at.
  6167.  
  6168.     RBBS-PC CPC17.3                                                 Page 128
  6169.  
  6170.     9.13 Communications Parameters (part 2)
  6171.     ----------------------------------------
  6172.     Some of the less sophisticated communications packages automatically switch
  6173.     back to their original communications parameters for parity, data bits, and
  6174.     stop bits if  the user manually changes them during  the session. Similarly
  6175.     some of the older public data networks can't talk to a terminal that is set
  6176.     at  N/8/1.  As all error-free  protocols typically require the settings for
  6177.     these to  be N/8/1  (i.e. no parity,  eight data bits,  and one  stop bit),
  6178.     parameter  241 allows  the SysOp  to  have RBBS-PC  accommodate these  more
  6179.     primitive  environments  by automatically  switching  back to  the original
  6180.     parameters after the file transfer is complete.
  6181.  
  6182.     Parameter 242 allows a SysOp to decline calls from new callers based on the
  6183.     baud rate specified.
  6184.  
  6185.     Some SysOps believe that 300 BAUD  users have a "pre-puberty" mentality and
  6186.     cause  more problems  (i.e. infantile  messages) for  the SysOp  than their
  6187.     contributions justify.  Another reason for denying access to 300 BAUD users
  6188.     is when RBBS-PC is running in a multi-tasking DOS environment that does not
  6189.     handle 300 BAUD very efficiently  (i.e. like MultiLink).  While  RBBS-PC is
  6190.     intended to  be as open a system as possible,  each SysOp has the option of
  6191.     electing to  accept calls  of only a  certain baud  rate or higher  for new
  6192.     callers.   Whatever reasons  a SysOp  has for  denying access  to 300  BAUD
  6193.     users, this option enables the SysOp to select to do so using CONFIG rather
  6194.     than having to modify the RBBS-PC source code.
  6195.  
  6196.     Parameter 243 allows RBBS-PC to be  configured to allow registered users to
  6197.     logon at any baud rate baud even if new users can't.
  6198.  
  6199.     Parameter 244 allows modems that require it, to have "flow control" between
  6200.     the modem and the PC running RBBS-PC using the "clear-to-send" signal, RTS.
  6201.     Some  modems with built-in error checking protocols  require this to be set
  6202.     on or, should an error-free link  become disconnected, the modem will never
  6203.     respond to the PC after RBBS-PC recycles.
  6204.  
  6205.     Parameter 245 allows another method of "flow control" between the modem and
  6206.     the PC running RBBS-PC -- XON/XOFF.  Since RBBS-PC attempts to write to the
  6207.     caller as fast as possible, XON/XOFF flow control is normally turned off --
  6208.     unless parameter 245 has enabled it.   When RBBS-PC is attached to a public
  6209.     data network,  it can be  sometimes necessary to  use this method  of "flow
  6210.     control" rather  than  "clear-to-send".   Setting this  parameter to  "yes"
  6211.     means that RBBS-PC will universally support XON/XOFF.  However the XON/XOFF
  6212.     check is only  made after the buffer  is emptied as specified  in parameter
  6213.     54.  It  is recommended, when XON/XOFF  flow control is  going to be  used,
  6214.     that parameter  54 be set  to 32 bytes so  RBBS-PC can be  as responsive as
  6215.     possible.
  6216.  
  6217.     Parameter 246 specifies  the maximum time to wait for carrier after RBBS-PC
  6218.     answers  the phone.   Some  of the  "less than  perfect" modems  disconnect
  6219.     immediately and RBBS-PC  would stay "off the  hook" long enough to  receive
  6220.     the automated  voice message requesting  the modem to  "hang up  and please
  6221.     dial again."
  6222.  
  6223.     RBBS-PC CPC17.3                                                 Page 129
  6224.  
  6225.     9.14 Parameters for RBBS-PC NET-MAIL
  6226.     -------------------------------------
  6227.     Parameter 261 allows the  SysOp to specify the  time of day in  HHMM format
  6228.     after  which  RBBS-PC is  to  exit  after  creating  a  dummy  file  called
  6229.     RBBSxTM.DEF where "x"  is the node ID of  the node that EXITed to  DOS.  By
  6230.     adding two "IF" statements to the simple .BAT file described in Section 14,
  6231.     the RBBS-PC-created file RBBSxTM.BAT will  be invoked if RBBS-PC is invoked
  6232.     with the following .BAT file (assuming "x" = node id = 1):
  6233.  
  6234.     IF EXIST C:RBBS1F1.DEF DEL C:RBBS1F1.DEF  ' Delete SysOp F1 semaphore
  6235.     IF EXIST C:RBBS1TM.DEF DEL C:RBBS1TM.DEF  ' Delete Time/drop semaphore
  6236.     IF EXIST C:RCTTY1.BAT  DEL C:RCTTY1.BAT   ' Delete batch file for DOOR exit
  6237.     RBBS-PC.EXE 1 RBBS1PC.DEF                 ' Invoke RBBS-PC for node 1
  6238.     IF EXIST C:RBBS1F1.DEF GOTO EXIT          ' Check for SysOp F1 key pressed
  6239.     IF EXIST C:RBBS1TM.DEF C:RBBS1TM.BAT      ' Check for Time to go to DOS
  6240.     IF EXIST C:RCTTY1.BAT  C:RCTTY.BAT        ' Check for exit to a DOOR
  6241.     C:RBBS.BAT                                ' Re-invoke RBBS-PC again
  6242.     :EXIT
  6243.  
  6244.     The  above assumes  that RBBS-PC  node is  "1", the name  of the  file that
  6245.     invoked RBBS-PC is RBBS.BAT, and everything is in the same DOS subdirectory
  6246.     on the "C" drive.  Obviously, this example can be made more generic.
  6247.  
  6248.     The file that RBBS-PC exits to is named RBBS1TM.BAT  (but it could be named
  6249.     anything that the SysOp desired).  It is the responsibility of the SysOp to
  6250.     name and create the RBBS1TM.BAT file.   A simple such file that invoked Kim
  6251.     Wells'  utility  MU-PURGE and  then  re-invoked RBBS-PC  would  contain the
  6252.     following two statements:
  6253.  
  6254.     MU-PURGE PURGE.CTL
  6255.     RBBS.BAT
  6256.  
  6257.     As always, .BAT files are limited only by the creativity of their authors.
  6258.  
  6259.     Parameter 262 allows RBBS-PC to handle "store-and-forward" mail of messages
  6260.     and files.  Currently  the only such "net mail" that is compatible with the
  6261.     FIDO store-and-forward mail specification is supported such as FIDO, SeaDog
  6262.     (see Appendix  V) and  BINKLEY TERM.   By enabling  this option,  the SysOp
  6263.     assumes the responsibility of configuring the "net mail" application to
  6264.  
  6265.          1. answer the phone and determine if the caller is sending "net mail".
  6266.  
  6267.          2. if the caller is not sending "net mail", the net mail application
  6268.             must invoke RBBS-PC with the following command line:
  6269.                    RBBS-PC.EXE nodeid filename /time /baud /reliable
  6270.             where:
  6271.                "nodeid" is the node ID in the range 1-9, 0, or A-Z.
  6272.                "filename" is the fully qualified file name to use as the
  6273.                     RBBS-PC ".DEF" file.
  6274.                "/time" is the time of day for RBBS-PC to return to the "net
  6275.                     mail" application that called RBBS-PC.
  6276.                "/baud" if the baud rate that the caller dialed in at.
  6277.                "/reliable" tells RBBS-PC whether the connection has error      
  6278.              correction built into the connected modems
  6279.  
  6280.     RBBS-PC CPC17.3                                                 Page 130
  6281.  
  6282.     Parameter 263 is intended to be used when RBBS-PC is connected  to a public
  6283.     data network (PDN) as a "node" -- not all systems that people log into on a
  6284.     PDN need  be "main frame"  computers!  When RBBS-PC  is a node  on a public
  6285.     data  network, typically  the network  will do  the echoing --  between the
  6286.     caller and the port he/she  accesses on the PDN and between RBBS-PC and the
  6287.     port RBBS-PC  accesses on the  PDN.   This causes  file transfers  to be  a
  6288.     problem because the PDN will continue  to echo.  Therefore it is  necessary
  6289.     to be able to go into an "image"  mode where data is passed through the PDN
  6290.     intact with no echoing.  The contents of this string is obviously dependent
  6291.     on the predilections of the PDN that RBBS-PC is attached to.  The string is
  6292.     sent just before a file exchange occurs.  Any  character can be included in
  6293.     the string using it's decimal  ASCII equivalent simply by putting a  number
  6294.     inside  square  brackets.    Characters  not in  square  brackets  will  be
  6295.     transmitted as they were  entered.  The string "a[32]"  will be interpreted
  6296.     as a lower case letter "a" followed by a blank.
  6297.  
  6298.     Parameter 264 is intended for situations where RBBS-PC is a node on a  PDN.
  6299.     It is the string that sent following a file exchange that causes the PDN to
  6300.     resume  echoing.   As with parameter  263, the  contents of this  string is
  6301.     entirely dependent on the predilections of the PDN that RBBS-PC is attached
  6302.     to.
  6303.  
  6304.     Parameter 265 allows  the SysOp to specify  the default mode of  who echoes
  6305.     characters back  to the user.  Normally  RBBS-PC echoes each character that
  6306.     the  caller  types  back to  them.    An individual  caller  can  set their
  6307.     preference for who is doing the  echoing in the Utilities subsystem  within
  6308.     RBBS-PC.  Callers using telecommunications  devices for the deaf (TDD's) or
  6309.     using PDN's  that do local  echoing can dramatically improve  their through
  6310.     put by not having RBBS-PC echo characters back to them.
  6311.  
  6312.     Parameter 266  allows the SysOp to  force RBBS-PC to  acknowledge each line
  6313.     uploaded  via the ASCII file transfer with  a character string.  Typically,
  6314.     an ASCII upload is characterized by two fundamental features -- it contains
  6315.     no unprintable  characters and  it does not  require any  "error checking".
  6316.     Under some  circumstances a callers  communications protocol may  require a
  6317.     response from  RBBS-PC (i.e.  a line  feed) before  the next  line will  be
  6318.     transmitted.
  6319.  
  6320.     Parameters 267 and 268 are used by the Fast File Search in RBBS-PC.  267 is
  6321.     name  of the sorted list of files with  location (FIDX.DEF), and 268 is the
  6322.     file  that translates the  location number in  the first into  a drive/path
  6323.     (LIDX.DEF).   These  files must be  created using external  utilities.  The
  6324.     utility MAKEFIDX.EXE is distributed with RBBS-PC to do this.
  6325.  
  6326.     RBBS-PC CPC17.3                                                 Page 131
  6327.  
  6328.     9.15 New Users Parameters
  6329.     --------------------------
  6330.     Parameter 281 allows  the SysOp  to elect to  not ask new  users for  their
  6331.     default  parameters.    RBBS-PC  typically asks  new  users  whether  their
  6332.     terminal supports upper case, whether they  want line feeds, what they want
  6333.     for  a  graphics preference,  what they  want for  a default  protocol, and
  6334.     whether  they want  "turbo-key".   Sometimes  these  questions confuse  new
  6335.     users, who lack the knowledge to answer  them.  To bypass the questions and
  6336.     force new  users to get the defaults (upper and  lower case, line feeds, no
  6337.     graphics, no protocol, no nulls), specify "NO" this parameter.
  6338.  
  6339.     Parameter 281, parameter  282, parameter 283, parameter 284, parameter 285,
  6340.     parameter  286, parameter  287, parameter  288, and  parameter 289  are not
  6341.     implemented in RBBS-PC.
  6342.  
  6343.     Parameter 290  controls whether  new users  are logged  to the  USERS file.
  6344.     RBBS-PC normally logs  new users in the  users file and recognizes  them as
  6345.     having previously logged on should  they call back.  If the SysOp wants new
  6346.     users not to be logged to the users file specify "NO" to parameter 290.
  6347.  
  6348.     Parameter  291 allows  the SysOp  to permit  RBBS-PC to  continue operating
  6349.     should  the users file  run out  of room  for new users.   Until  the SysOp
  6350.     rebuilds the users file or expands it, there are then two options:
  6351.  
  6352.          1.   do not let the new user on, or
  6353.          2.   let the new user on but do not try to add him to the user file.
  6354.     Saying "YES" to parameter 291 enable new users to be allowed  on when there
  6355.     is no room rather than being told there is no room and then disconnected.
  6356.  
  6357.     RBBS-PC CPC17.3                                                 Page 132
  6358.  
  6359.     9.16 Use of the Library Sub-System
  6360.     -----------------------------------
  6361.     Parameter 301 allows the SysOp to designate/activate the Library-Subsystem.
  6362.     The default for  this parameter is "<none>".  This deactivates the function
  6363.     in its entirety.   To activate the Library-Subsystem  select this parameter
  6364.     and specify the drive that contains your Library Disks.   Note:  This drive
  6365.     MUST be a separate drive and  not the same drive as any other  drive in use
  6366.     by  RBBS-PC.  If RBBS-PC is going  to be run on a  single hard disk and the
  6367.     Library-Subsystem activated, PC-DOS  3.1 or greater  and the SUBST  command
  6368.     must be used to allocate the library disks to a pseudo drive different from
  6369.     the other drive in use by RBBS-PC.
  6370.  
  6371.     Parameter 302 is  used to select  the drive\path where RBBS-PC  should look
  6372.     for  the upper level  file directory (CDR.CDR  is the default  name).  This
  6373.     should be the same drive selected in parameter 220.
  6374.  
  6375.     Parameter 303 allows the extension to be used to identify the Library upper
  6376.     level directory to be specified.  (CDR is the default).
  6377.  
  6378.     Parameter 304 is used to identify the drive\directory the Library subsystem
  6379.     should use for creating archive files for transmission.  Since the input to
  6380.     the archive function would be one 360k floppy disk worth of data  the space
  6381.     requirements will  be less than 360k.   A RAM  disk for this use  should be
  6382.     considered.   In every  case  the fastest  disk drive  available should  be
  6383.     specified in this parameter.
  6384.  
  6385.     Parameter 305 is used  to specify the highest disk number  available in the
  6386.     Library.  This value is used in editing the user request for  access to the
  6387.     Library.
  6388.  
  6389.     Parameter  306  is  used  to specify  the  maximum  number  of upper  level
  6390.     directories that will be found on the  Library disk.  The PC-SIG CD-ROM  is
  6391.     organized with 10 upper level directories, 1-100, 101-200, 201-300 etc. and
  6392.     each of these contain 100 directories, DISK001, DISK002 etc.
  6393.  
  6394.     Parameter 307 is the maximum number of subdirectories that each upper level
  6395.     directory can contain.  (100 in the above example)
  6396.  
  6397.     Parameter 308 is used to specify the prefix of the lower level directories.
  6398.     (DISK  in the above examples).  Since the  user enters only the disk number
  6399.     that  is desired,  RBBS-PC  creates  the subdirectory  name  based on  this
  6400.     parameter and the number entered.
  6401.  
  6402.     Parameter 309 is  used to identify the drive\path\name of  the Library Sub-
  6403.     system menu.  MENU6 is the default.
  6404.  
  6405.     Parameter 310 is a list of the  symbols that are available from the Library
  6406.     Sub-System menu.
  6407.  
  6408.     Parameter 311 contains the security values related to the symbols listed in
  6409.     parameter 310.
  6410.  
  6411.     Parameter 312  is used to identify the drive\path where the archive utility
  6412.     program can be found.  (Be sure that is where it is!)
  6413.  
  6414.     RBBS-PC CPC17.3                                                 Page 133
  6415.  
  6416.     Parameter 313 is used to identify the archive utility that you  wish to use
  6417.     to do the archiving process on Library disks.  When answering the questions
  6418.     to this parameter you will also be asked what the CREATE parameter is.  For
  6419.     PKARC and  ARC the  correct response  is "A".   If using  ARCA there  is no
  6420.     CREATE  parameter  since CREATE  is  the  only  function  that it  can  do.
  6421.     Therefore just press enter without entering a CREATE command.
  6422.  
  6423.     9.17 RBBS-PC's Parameters for Color
  6424.     ------------------------------------
  6425.     A detailed explanation of  the use of colors within RBBS-PC can be found in
  6426.     section 6.10.   Parameter 321 is the  string that turns ON  highlighting or
  6427.     emphasizing  of characters in  text strings displayed  to the  caller.  The
  6428.     RBBS-PC default is a bright foreground on a red background.
  6429.  
  6430.     Parameter 322 is the string that  turns OFF highlighting or emphasizing  of
  6431.     characters in text strings displayed to the caller.  The RBBS-PC default is
  6432.     amber foreground (normal yellow) and black background.
  6433.  
  6434.     Parameter 323,  parameter 324, parameter  325, parameter 326  and parameter
  6435.     327 are used in  conjunction with one  another.  Parameter  327 is used  to
  6436.     offset commands a caller actually needs to type in to select an option.