home *** CD-ROM | disk | FTP | other *** search
/ RBBS in a Box Volume 1 #3.1 / RBBSIABOX31.cdr / rbbs / doc / rbbsdoc1.asc < prev    next >
Text File  |  1990-08-26  |  362KB  |  6,957 lines

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