home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / o9democ.zip / SYSOPMAN.DOC < prev    next >
Text File  |  1995-11-07  |  1MB  |  20,500 lines

  1.               
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                                     TABLE OF CONTENTS
  8.               Program Features                                     1
  9.                  SYSTEM CAPACITIES                                 1
  10.                  MESSAGING FEATURES                                1
  11.                  FILES                                             2
  12.                  OUTSIDE FEATURES (DOORS)                          3
  13.                  CHAT FEATURES                                     3
  14.                  NETWORKING FEATURES                               4
  15.                  DATABASE FEATURES                                 4
  16.                  MAINTENANCE FEATURES                              5
  17.                  SUBSCRIBER BILLING FEATURES                       5
  18.                  SECURITY FEATURES                                 6
  19.               Running a Successful BBS                             8
  20.               Program License Agreement                            12
  21.                  License                                           12
  22.                  Copyright                                         12
  23.                  Restrictions                                      12
  24.                  Limited Warranty                                  12
  25.                  General Terms                                     13
  26.                  U.S. Government Restricted Rights                 13
  27.               Hardware Requirements                                14
  28.                  Basic Hardware Requirements                       14
  29.                  LAN Hardware Requirements                         15
  30.               Installation                                         16
  31.                  Hardware Setup                                    16
  32.                    Serial Ports Setup                             16
  33.                    Modems Setup                                   17
  34.                    Direct Connection via Null Modem               18
  35.                  Software Setup                                    19
  36.                    Selecting a Disk Partition                     19
  37.                    Files List                                     19
  38.                       Executable Programs - Standard Version       20
  39.                       Executable Files - Client/Server Version     20
  40.                       BBS Database Files                           20
  41.                       Documentation Files                          21
  42.                       Menus, Prompts and Help Messages             21
  43.                       Other Support Files                          22
  44.                  Program Start-up                                  22
  45.                  Customizing your System                           25
  46.                    Defining Access Levels                         27
  47.                    Assigning Serial Ports                         28
  48.                    Modem Control Strings                          32
  49.                    Setting up Sub-Boards                          37
  50.                    Basic System Parameters                        43
  51.                    Extended System Parameters                     55
  52.                    Setting Time Limits                            64
  53.                    Subscriber Parameters                          65
  54.                    User Classes and Special Interest Groups       71
  55.                    Customizing Menus, Help Messages and Prompts   73
  56.                       ANSI Graphic Colors                          84
  57.                       Foreign Language Considerations              87
  58.                    Creating and Maintaining Shareware Libraries   88
  59.                       Defining Paths                               88
  60.                       Assigning Directories to Sub-boards          90
  61.                       The Download Database                        93
  62.                       Importing File Descriptions from ASCII Text Files   94
  63.                       Importing Text Files into Bulletron Messages 95
  64.                       Private Files                                95
  65.                       File Attachments                             97
  66.                       FAXback Feature Setup                        99
  67.  
  68.               
  69.  
  70.  
  71.  
  72.  
  73.  
  74.                    Matchmaker Questionnaires                      103
  75.                       Multiple Choice Questionnaires               103
  76.                       Essay Questionnaires                         105
  77.                       Combined Questionnaires                      106
  78.                       Order Entry and Verify Questionnaires        106
  79.                       Verify Questionnaires                        109
  80.                       Order and VERIFYQU Export Database           110
  81.                    Outside Features (Doors)                       111
  82.                       Direct Connect Features                      111
  83.                       Telephone Dialout Features                   112
  84.                       DOS Program Features                         113
  85.                       DORINFOx.DEF Interface                       114
  86.                       DOOR.SYS Interface                           115
  87.                       DOS Program with FOSSIL Support Features     118
  88.                       OS/2 Program Features                        119
  89.                       DOS Prompt Feature                           120
  90.                       Setting up Outside Features                  121
  91.                       Setting up Direct Connect Outside Features   123
  92.                       Setting up Telephone Dialout Outside Features  127
  93.                       Setting up DOS Program Outside Features      127
  94.                       Setting up DOS Program with FOSSIL Support Features 131
  95.                       Setting up OS/2 Program Outside Features     131
  96.                       Setting up a DOS Shell                       132
  97.                       Setting up Midnight Maintenance              133
  98.                    Application Specific Database Setup            133
  99.                    Artificial Intelligence Features               139
  100.                  LAN Operation                                     146
  101.                    Logging in over the LAN                        146
  102.                    Distributing Processing over a LAN             148
  103.                       Starting up the Client/Server Version        149
  104.                       Stopping the Client/Server Version           151
  105.                       Running Client/Server without a LAN          152
  106.                  Wide Area Networking                              152
  107.                    Bulletnet                                      152
  108.                       Adding, Deleting and Changing Nodes          154
  109.                       Setting Retry Count and Time Between Retries 161
  110.                       Sample Network Installation                  161
  111.                       Echo Conferences                             162
  112.                       Network Chat                                 163
  113.                       Sending Files over the Network               164
  114.                    FIDOnet                                        164
  115.                       FIDO User Names                              164
  116.                       Setting up Your FIDO Address                 166
  117.                       Designating FIDO Echo Conferences            166
  118.                       FIDO Networking Account(s)                   167
  119.                       Network Node Table Setup (Dialing and Routing) 167
  120.                       FIDO NOVELIST Processing                     170
  121.                       Dialing and Receiving FIDO Calls (Mailer Function)  171
  122.                       Compressing and Decompressing FIDO Packets   172
  123.                       Sample FIDO Setup                            174
  124.                    Internet                                       176
  125.                       Installation of TCPIP/2 Drivers              176
  126.                       PING Service                                 179
  127.                       HOST Service                                 179
  128.                       FINGER Service                               180
  129.                       Outgoing FINGER Service                      180
  130.                       Incoming FINGER Service                      180
  131.                       TELNET Service                               181
  132.                       Outgoing TELNET Service                      181
  133.                       Incoming TELNET Service                      181
  134.                       Using Terminal Servers                       181
  135.                       Internet Mail                                182
  136.                       Usenet News                                  182
  137.                       FTP  Service                                 182
  138.                       Internet Relay Chat                          182
  139.                       Worldwide  Web Service                       182
  140.  
  141.               
  142.  
  143.  
  144.  
  145.  
  146.  
  147.                    E-Mail Gateway                                 182
  148.                    Exporting to and Importing from Other Networks 182
  149.                       FROMORA File Creation Utility                183
  150.                       TOORA Message Insertion Utility              184
  151.               Daily Operation                                      186
  152.                  The Control Window                                186
  153.                    Special Control Window Hot-Keys                190
  154.                    Line Usage Statistics                          191
  155.                  The System Log File                               191
  156.                  User and File Management                          192
  157.                  Bulletins                                         198
  158.                  Automatic Callback Validation                     199
  159.                  Special SYSOP Main Commands                       201
  160.                    "WC DELETE"                                    201
  161.                    "T" - Tutorial Command                         201
  162.                    "DD filename" (Download to a diskette)         202
  163.                    "UD filename" (Upload from a diskette)         202
  164.                    "E MASSMAIL"                                   203
  165.                    "E NEWUSERS"                                   203
  166.                    "%" - Purge messages/accounts                  203
  167.                    "PXR" - Refresh Vdisk and Prompts              203
  168.                    "Y" - Display Control Window Remotely          204
  169.                    "PXC" - Changing the System Counters           204
  170.                  Special SYSOP Subcommands                         205
  171.                    "E@" -  Make Message from Disk File            205
  172.                    Special Post-Read Commands                     205
  173.                  Assistant SYSOP Privileges                        208
  174.                  SIG-op Privileges                                 214
  175.                  Feature Operators                                 214
  176.                  Backing up Your Data                              214
  177.                    On-line Automatic Backup                       215
  178.                    Restoring a Backup                             216
  179.                    Off-line Full Backup                           217
  180.                  Utility Programs                                  218
  181.                    BBUTIL2 - Miscellaneous Utility Functions and Reports  218
  182.                       Subscriber Report                            219
  183.                       Create a File of User Info                   220
  184.                       Report of Downloaded Files                   220
  185.                       Unload BBSMSGS.DAT to Individual Files/Message 220
  186.                       Load BBSMSGS.DAT from Individual Message Files 220
  187.                       Load Messages/Accounts from XXyymmdd.BAK     220
  188.                       Mass Access Level Change                     221
  189.                       Tally System Passwords                       221
  190.                       Text Branching Utilities                     222
  191.                       Analyze Log Data                             222
  192.                       Reset Fields in User Records                 222
  193.                       Create File of User Names and Addresses      223
  194.                       Delete all messages from a specific board    223
  195.                       Load Users/Messages from Text Files          223
  196.                       Move Messages to a New Board                 224
  197.                       Tally Matchmaker Responses                   224
  198.                       Load *.UTL to Help Files                     224
  199.                       Preload PathID-Filename-Description          225
  200.                       View Parameter File Keys and Delete Records  225
  201.                       Delete Messages by brdnnnnn                  225
  202.                       Delete Users Sequentially                    225
  203.                       Delete Messages Sequentially                 226
  204.                       Move All Files in a Path                     226
  205.                       Set Access Level for All Files               226
  206.                       Delete File Descrs. by Path                  226
  207.                       Delete Individual User                       226
  208.                       Save *.UTL Messages                          226
  209.                       Export File Descriptions                     227
  210.                    REBUILD2 - Index File Creation                 227
  211.                    COMPACT2 - Data File Compaction                227
  212.                  Repairing Damaged Data Files by Hand              228
  213.  
  214.               
  215.  
  216.  
  217.  
  218.  
  219.  
  220.                    Fixed Record Length Format                     230
  221.                    Variable Record Length Format                  230
  222.                    SCANLINX - File Structure Analysis             231
  223.                    SEDIT Example                                  231
  224.               Technical Support                                    234
  225.                  Problem Reporting                                 234
  226.                  Common Questions New SYSOPs Ask                   235
  227.                  Common Ways Users Try to Hack the System          240
  228.                    Phony Subscriber Status                        240
  229.                    Forged Message Signature                       240
  230.               Appendix A - Modem Setup                             217
  231.                  Fundamental Concepts                              217
  232.                    Automatic Speed Buffering and Flow Control     217
  233.                    Delay After Connection                         218
  234.                  Hayes Smartmodem 2400 Setup                       219
  235.                  Hayes V Series 9600 Baud Modem Settings           219
  236.                  Hayes Optima Modem Settings                       220
  237.                  Logicode Quicktel Modem Settings                  221
  238.                  U.S. Robotics Courier Modem Settings              223
  239.                  U.S. Robotics Sportster Modem Settings            225
  240.                  Intel SatisFAXtion Modem Settings                 227
  241.                  Zoom 14.4 VFX Modem Settings                      228
  242.                  Zoom 28.8 VFX Modem Settings                      229
  243.                  Prometheus Linelink 144 Modem Settings            231
  244.                  Practical Peripherals 14400FXMT and PM144MT II Modem Settings 232
  245.               Appendix B - National Bureau of Standards Time Setting 235
  246.               Appendix C - Bulletron Errors and Messages           236
  247.               Appendix D - Operating System Errors                 245
  248.                  C-Tree Error Codes                                245
  249.                  C Runtime Error Codes                             251
  250.                  Serial Port Driver Error Codes                    253
  251.                  OS/2 System Error Codes                           256
  252.               Appendix E - Command Summary                         277
  253.               Appendix F - Improving Performance using a RAM Drive 289
  254.               Appendix G - Recommended Extended Serial Card Setups 291
  255.                  Digiboard PC/8 Recommended Installation           291
  256.                  Digiboard PC/xi Recommended Installation          294
  257.                  Digiboard COM/xi Recommended Installation         295
  258.                  Digiboard C/X Recommended Installation            295
  259.                  Digiboard PC/Xem Recommended Installation         296
  260.                             
  261.  
  262.  
  263.  
  264.  
  265.  
  266.               1.   Program Features
  267.               
  268.                  Bulletron contains some unique features not found in other BBS software systems, and it has 
  269.                  capacities beyond most microcomputer based systems.  Here is just a few of the features:
  270.               
  271.               
  272.                  SYSTEM CAPACITIES
  273.               
  274.                       No limit to the number of user accounts.
  275.               
  276.                       No limit to the number of personal and public messages.
  277.               
  278.                       No limit to the number of files that can be placed on-line in on-line libraries in as many as 
  279.                    34,965 distinct file directories.
  280.               
  281.                       Can service 2,000 phone lines with one PC;  446,000 phone lines per installation using LAN 
  282.                    technology.
  283.               
  284.                       Can operate up to 4 GBaud;  limited only by hardware capabilities.
  285.               
  286.                       Provides menuing for up to 35,000 "door" programs;  no limit to the number of concurrent users 
  287.                    per "door". 
  288.               
  289.                       Extremely rapid access to any information in the system is provided through a balanced binary 
  290.                    tree filing system;  no more than  three disk operations required to access any information in  
  291.                    the system. 
  292.               
  293.                       Up to 999 sub-boards can be defined each having its own messages, file directories, "doors", 
  294.                    access levels and rules.
  295.               
  296.                       Up to 999 Special Interest Group (SIGs) sub-boards can be defined, with private access to 
  297.                    messages and files for only members of the SIG.
  298.               
  299.                       Over 32,000 access levels for each account or command.
  300.               
  301.                       Full support for ANSI and RIP color graphics, with auto-sensing is provided.
  302.               
  303.                       LAN connections supporting the "named pipes" interface can be used for logging on to allow 
  304.                    BULLETRON to be used as an intra-office electronic mail and news service with no modems, 
  305.                    serial ports or phone lines.
  306.               
  307.                  MESSAGING FEATURES
  308.               
  309.                       Individual messages are free-form text, up to 9,000 characters long, no line limit, and can have 
  310.                    blank lines embedded. 
  311.               
  312.                       All personal mail is automatically placed in one section so that it can be found and reread 
  313.                    quickly;  no need to go to different message areas looking for mail.
  314.               
  315.                       A single, two-letter command displays all new messages and files since last logon in all 
  316.                    message areas, eliminating the need for off-line mail reader programs.
  317.               
  318.                       Comments (conferencing) on all messages encourages discussion and keeps similar subjects 
  319.                    joined.  When a 9000 character message is filled with comments, the system automatically 
  320.                    starts a new message and links the messages together so they appear to be a continuous 
  321.                    message.  No more annoying "message threads" to follow.
  322.               
  323.                       Only the disk space required for the message is used, not the full 9,000 characters, so that disk 
  324.                    space and I/O overhead are optimized.
  325.               
  326.  
  327.               
  328.  
  329.  
  330.  
  331.  
  332.  
  333.                       Personal mail messages can be marked to notify the sender when the receiver has read the 
  334.                    message.
  335.               
  336.                       Users can automatically generate "carbon copies" to groups of users.  The size of the groups can 
  337.                    be limited by the system operator, with no limit on carbon copies for the system operator.
  338.               
  339.                       The system operator can "massmail" large groups of users, selected by access level or special 
  340.                    interest group.
  341.               
  342.                       Public messages and private mail can be made anonymous.
  343.               
  344.                       Automatic poll taker messages can tally users' responses.
  345.               
  346.                       Order entry facility processes order forms to have a "mail order" store  by computer, with 
  347.                    built-in VISA, Mastercard, American Express and Discover card validity checking.
  348.               
  349.                       No limit on the number of private messages per user.
  350.               
  351.                       Access to messages can be restricted by access level or Special Interest Group (SIG).
  352.               
  353.                  FILES
  354.               
  355.                       XMODEM, XMODEM-CRC, XMODEM-1K, YMODEM, YMODEM-G, ZMODEM-16, 
  356.                    ZMODEM-32, MODEM7, TELINK, SEALINK and ASCII file transfers.
  357.               
  358.                       A single, two-letter command displays all new files since last logon in all directories, 
  359.                    eliminating the need for off-line mail reader programs.
  360.               
  361.                       On-line viewing of ASCII files, GIF pictures and ZIP file contents by users;  on-line string 
  362.                    searching of ASCII text files.
  363.               
  364.                       FAXback feature allows users to have graphic documents sent to any FAX machine or FAX 
  365.                    modem.
  366.               
  367.                       Wildcards can be used with batch file transfer protocols, as in "DZ *.*";  tagging is provided 
  368.                    with wildcard batches to allow more restrictive selection.
  369.               
  370.                       File Descriptions are free-form text, up to 9,000 characters long, and can contain embedded 
  371.                    blank lines.
  372.               
  373.                       Uploads can automatically update the download database and send a message notifying the 
  374.                    system operator of the uploaded file.
  375.               
  376.                       DOS batch and OS/2 REXX procedures can be set up to perform automatic virus scanning for 
  377.                    all uploaded files, including files received through networking.
  378.               
  379.                       Access to file directories can be restricted by access level and/or Special Interest Group (SIG).
  380.               
  381.                       Access to individual files can be restricted by access level, and password protection, and files 
  382.                    can be made "private" to specific user accounts.
  383.               
  384.                       Funds can be automatically deducted from subscriber accounts each time that certain files are 
  385.                    downloaded to facilitate licensing for distribution of commercial software.
  386.               
  387.                       Separate access levels can be defined for uploading, downloading and FAXback, per sub-board 
  388.                    or SIG.
  389.               
  390.                       Files can be "attached" to other files to force downloading complete sets, without having to ZIP 
  391.                    them into redundant packages.  File attachments can be nested recursively.
  392.               
  393.                       A downloads per upload quota can be enforced for the entire system, and disabled for specific 
  394.                    file directories.
  395.               
  396.                       Time billing can be disabled for specific file directories to allow "free trial" downloads.
  397.               
  398.                  OUTSIDE FEATURES (DOORS)
  399.  
  400.               
  401.  
  402.  
  403.  
  404.  
  405.  
  406.               
  407.                       Six different "door" interfaces are provided, including:  OS/2 programs, DOS programs with 
  408.                    and without FOSSIL drivers, DORINFOx.DEF, DOOR.SYS, dial out to another computer, and 
  409.                    direct connection to another computer using a null modem cable.
  410.               
  411.                       Single character menu selection allow up to 35 different "doors" for each sub-board, with up to 
  412.                    999 sub-boards for the entire system.
  413.               
  414.                       35 "doors" can be made global to all sub-boards.
  415.               
  416.                       Access to each "door" can be restricted by access level or Special Interest Group (SIG).
  417.               
  418.                       Per minute surcharges can be automatically billed to subscriber accounts for certain "doors".
  419.               
  420.                  CHAT FEATURES
  421.               
  422.                       Public chat allows any number of users to converse online in line by line mode.
  423.               
  424.                       Private chat allows two users to converse in character by character mode.
  425.               
  426.                       "Group" and "channel" commands allow groups of people to be in a chat conference without 
  427.                    being "heard" by other users who are also online.
  428.               
  429.                       "Secret" chat channels can be set up for users for special private conversations.
  430.               
  431.                       Network chat allows multiple systems to network together in public chat;  users in chat on one 
  432.                    system can chat with users on a remote system simultaneously.
  433.               
  434.                       "Chat macros" can be defined by the system operator to allow users to generate complex 
  435.                    messages with just a few keystrokes.
  436.               
  437.                       Users can access biographical data about other users from within private or public chat.
  438.               
  439.                       Users can make themselves "invisible" to one another to avoid chat solicitations while reading 
  440.                    mail and messages.
  441.               
  442.                       Users can be separated into 223 different classes which are invisible to one another.
  443.               
  444.                  NETWORKING FEATURES
  445.               
  446.                       Proprietary BULLETNET(R) technology provides for high efficiency wide area networking 
  447.                    between BULLETRON(R) systems.
  448.               
  449.                       BULLETNET allows messages and files to be sent between other BULLETRON systems 
  450.                    automatically.
  451.               
  452.                       Echo conferencing allows users on many systems to read, and comment on, the same message 
  453.                    at the same time, with automatic message quoting to preserve continuity of thought.
  454.               
  455.                       Networking can occur at any time, even while other users are online.  With BULLETRON, the 
  456.                    system does not have to "come down" to transmit or receive network messages and files, as 
  457.                    with most BBS products.
  458.               
  459.                       Integrated interfaces to Internet, FIDOnet (FTS-1 through FTS-7) and ORAnet are provided.
  460.               
  461.                  DATABASE FEATURES
  462.               
  463.                       The system can maintain a 3 line personal description or real name and address of each  user.
  464.               
  465.                       Built-in high speed database searching over user accounts, messages and file descriptions.
  466.               
  467.                       Matchmaker database can attach questionnaires to user accounts and messages.  Questionnaires 
  468.                    can be attached to user accounts to implement a technical support human resource database, or 
  469.                    an on-line dating service.  Questionnaires can be attached to messages to implement a real estate 
  470.                    or auto finder database.
  471.               
  472.  
  473.               
  474.  
  475.  
  476.  
  477.  
  478.  
  479.                       Different questionnaires can be used for each of up to 999 sub-boards - multiple choice, essay 
  480.                    and combined.
  481.               
  482.                       Users can search the matchmaker database to display specific records based on specified criteria 
  483.                    or  list all entries by percentage match to specified criteria.
  484.               
  485.                       An operator definable random access database is provided for any application.  Six keys may be 
  486.                    defined.  Import and export facilities for data from dBase, SQL, etc. using CDF (comma 
  487.                    delimited fields) format.  Fast random accesses on direct keys using balanced binary trees.
  488.               
  489.                       Built-in artificial intelligence programming language for implementing on-line "expert" systems 
  490.                    or an "adventure" game.
  491.               
  492.                       Access to the matchmaker database can be restricted by access level or Special Interest Group 
  493.                    (SIG).
  494.               
  495.                  MAINTENANCE FEATURES
  496.               
  497.                       All menus, help messages, and prompts are changeable by the system operator for complete 
  498.                    customization or for foreign language systems.
  499.               
  500.                       Multiple system operator accounts or assistant operator accounts with less access can be used to 
  501.                    manage the system.
  502.               
  503.                       Automatic deletion of inactive accounts, messages and personal files.
  504.               
  505.                       Installation commands let the system operator change parameters to customize the software to 
  506.                    their users and needs while the system is ONLINE.  All setup functions can be performed 
  507.                    remotely.
  508.               
  509.                       System operator can easily add, delete, rename, move, or copy files between directories with the 
  510.                    file management functions remotely, on-line!
  511.               
  512.                       System operator commands to modify or delete accounts or messages can be done remotely, 
  513.                    on-line.
  514.               
  515.                       Mini-terminal mode facilitates setup of modems' nonvolatile RAM, and allows the system 
  516.                    operator to dial out to another BBS or back in to his own BBS to test the phone line or modem 
  517.                    while Bulletron continues to run and answer the other lines.
  518.               
  519.                       Multiple initial logon system passwords can be defined to preset access levels and SIGs, and to 
  520.                    tally the number of callers from a specific marketing source.
  521.               
  522.                  SUBSCRIBER BILLING FEATURES
  523.               
  524.                       Subscriber facility allows charging by cents, minutes, or date, and provides for both prime and 
  525.                    nonprime rates.
  526.               
  527.                       Access levels are automatically adjusted for each user during logon based on whether or not the 
  528.                    account has funds remaining, and based on an expiration date set for the account.
  529.               
  530.                       Combined billing methods can be used to allow a high access level if an account has funds 
  531.                    remaining, an intermediate access level if no funds remain but an expiration date has not been 
  532.                    reached, or a low access level if no funds remain and the account has expired.
  533.               
  534.                       Surcharges can be applied per minute to doors, or per download to individual files, with 
  535.                    automatic account billing.
  536.               
  537.                       Warning messages are automatically generated to users during logon if funds are low or 
  538.                    expiration date is approaching.
  539.               
  540.                       Different time limits per session and per day can be set up for access to the system, access to 
  541.                    download features, or access to chat features.
  542.               
  543.                       Multiple "visitor" accounts can be set up to allow new users a free trial of the system without 
  544.                    setting up an account.
  545.  
  546.               
  547.  
  548.  
  549.  
  550.  
  551.  
  552.               
  553.                       Time billing is automatically disabled during uploading, and can be disabled for downloading 
  554.                    from certain file directories.
  555.               
  556.                       Different billing rates can be assigned to different phone lines to help pay for special, high 
  557.                    performance modem equipment.
  558.               
  559.                       Access to certain phone lines can be restricted to subscribers only or users having a certain 
  560.                    minimum access level.
  561.               
  562.                  SECURITY FEATURES
  563.               
  564.                       Access to individual files and entire file directories can be automatically restricted to certain 
  565.                    individuals or groups of  individuals by password.
  566.               
  567.                       A remote system operator can view current activity in any session.
  568.               
  569.                       An operator at the local console can monitor up to ten sessions simultaneously, using windows. 
  570.               
  571.                       Fifteen character secondary passwords are provided for system operator accounts provide extra 
  572.                    security.
  573.               
  574.                       Remote new account setup can be disabled and accounts can be preloaded from an external file 
  575.                    such as registration numbers.
  576.               
  577.                       Built-in callback validation allows users to increase their access level by verifying their phone 
  578.                    number.
  579.               
  580.                       Built-in callback validation of new accounts can be restricted to allow only local calls on certain 
  581.                    phone lines.
  582.               
  583.                       Remote new user account setup can be blocked on certain phone lines, such as those connected 
  584.                    to real modems rather than local terminals in the office, at the system operator's discretion.
  585.               
  586.    
  587.               
  588.               
  589.  
  590.  
  591.  
  592.  
  593.  
  594.               2.   Running a Successful BBS
  595.               
  596.                  A "successful BBS" is one that has a significant number of participating users.  Quantitative ways 
  597.                  to measure activity would be to count the number of different callers, the number of new messages and 
  598.                  uploads, and the amount of time used every day.  A count of calls is not useful since callers frequently 
  599.                  log on several times per day to check for private mail then log off without entering public messages, 
  600.                  uploading files, or participating.  A BBS can have a large number of users and NOT be successful if 
  601.                  they are mostly onetime callers or "voyeurs".  (A "voyeur" is one that logs on only for private mail or to 
  602.                  see what is happening, but does not participate.)  
  603.               
  604.                  Most non-business BBS' are started by a BBS caller who feels that he can do a better job at 
  605.                  running a BBS than the board he is calling.  So the new system operator, or SYSOP, gets some 
  606.                  software (usually the software he first called and is therefore most familiar with the commands), shares 
  607.                  his only computer with the BBS, sets up 999 message areas and 10 telephone lines, then waits for 500 
  608.                  callers per day to dial in.  A BBS, even a free one, is a business and requires the same kind of 
  609.                  preplanning.
  610.               
  611.                  Before you even bring a BBS online, first decide what your main emphasis will be on it.  Is it 
  612.                  going to be mostly an upload/download board, a chat board, message exchange, adult/social board, or 
  613.                  technical forum?  Next, determine what subject matter you want to specialize. Some SYSOPs try to be 
  614.                  all things to all people.  They set up the maximum number of sub-boards and have boards for 
  615.                  everything from auto repair to zebra raising.  A new user logs on, is overwhelmed by the number  of 
  616.                  possible sub-boards/conferences, and logs off without participating.  A better way would be to define 
  617.                  only 5 or 6 general public boards and set the other sub-boards as SIGs (Special Interest Groups) giving 
  618.                  users only access to those SIGs which they request.  This can be done manually by putting up a public 
  619.                  message telling users that other SIGs are available if they are interested, or using an automatic SIG 
  620.                  method.  Bulletron software, for example, will allow an initial system password for  new users setting 
  621.                  up an account.  This password then predefines what SIGs a user gets.  If you put an advertisement in 
  622.                  Cooking Magazine with the system password COOK, then when a new user sets  up an account and 
  623.                  uses COOK, he would automatically get the FOOD SIG.  What subject matter you emphasize may also 
  624.                  depend on the size of the area you live in and the number of other BBS' in your area.  If you are in a 
  625.                  small town of 3,000 people, it is unlikely that you will get much activity on even 25 sub-boards.  If you 
  626.                  are in an area with a dozen BBS' emphasizing IBM download files, you may want to start a BBS for 
  627.                  MAC users.
  628.               
  629.                  You should have a dedicated computer for the BBS, not one shared with your other work.  If 
  630.                  callers get ring-noanswer more than a couple of times, they will stop calling.  The price of computers 
  631.                  has come down enough to allow almost anyone to afford an additional inexpensive PC.  It is important 
  632.                  to be dependable.  If you need to take the BBS down for maintenance for a short time, take the phones 
  633.                  offhook.  That way callers know you are up and running but temporarily unavailable.  
  634.               
  635.                  Start with only one or two telephone lines, and add telephone lines as usage increases.  A store 
  636.                  that has 20 customers walking around would probably appear popular and attract even more customers.  
  637.                  Put those same 20 customers into a large mall, however, and the mall would appear empty.  Likewise if 
  638.                  you have 20 active users with one or two telephone lines, the BBS would probably appear busy.  But 20 
  639.                  users on 6 to 10 telephone lines  would not attract additional users.  A good rule-of-thumb is that you 
  640.                  should add a telephone line when you get 50 calls per line.  If you are getting 50 to 100 calls per day on 
  641.                  a regular basis, you should have two telephone lines.  When you regularly have more than 100 calls per 
  642.                  day, it is time to add a third telephone line.  An occasional busy signal is OK.  It means your system is 
  643.                  popular and other callers are going to want to be online.  If users can always get online and they seldom 
  644.                  find other users online also, they will think the board is dull and stop calling.  If it is always busy, they 
  645.                  may stop trying to call.  It is not uncommon to find a board busy during prime time (usually 6 PM to 
  646.                  midnight), so don't plan the number of lines for the maximum possible callers unless you are a large 
  647.                  business charging for time that users are online.  
  648.               
  649.                  Now that you have your system set up, how do you get callers?  Start by putting messages on 
  650.                  other BBS' in your area announcing your new system.  Most SYSOPs do not object to such 
  651.                  announcements unless they feel you are taking their users.  If the subject matter of your board is 
  652.                  different, then there should be no competition.  Next, run small advertisements or submit press release 
  653.                  announcements to the free throw away newspapers or student newspapers.  It is best to track where you 
  654.                  are getting most of your new callers so you can adjust any future advertising.  The initial system 
  655.                  password facility of Bulletron will tally how many callers use a particular password.  This way you can 
  656.                  tally how many new users have called from your ad in Cooking Magazine.  
  657.               
  658.                  The time of year that you do your promotion is important.  BBS activity will be highest in 
  659.                  October, November, February, and march.  Users are usually too busy with the holidays during 
  660.  
  661.               
  662.  
  663.  
  664.  
  665.  
  666.  
  667.                  December, and they are outside, away from their computer or on vacation during the summer.
  668.               
  669.                  To get activity on a BBS, it may be necessary to "prime the pump".  This means that the SYSOP 
  670.                  must place messages on the system that will encourage other messages.  It is sometimes helpful to have 
  671.                  friends or synonym accounts put on messages so that it and does not appear that only the SYSOP can 
  672.                  enter messages.  Most users want to read private messages, "chat" with other users, and download files.  
  673.                  If a system has 1000 user accounts and 30 to 50 of those actively participate, that would be a busy 
  674.                  system.  So do not be surprised if few users enter public          messages or upload new files.  You may 
  675.                  have to "put on a show" for a while.  Bulletron software provides a feature called "comments" which 
  676.                  allows users to put a comment directly on to a message rather than running down a thread of messages.  
  677.                  This makes discussion and activity easier.  Adult-oriented bulletin boards may have another problem to 
  678.                  overcome.  Since normally 80%-90% of the callers will be males, the women will be deluged with 
  679.                  private messages or men may be disappointed that there are so few women on a system. Since it is 
  680.                  common for new callers to log on, look around, and not call back, a "visitor" feature is available on 
  681.                  Bulletron to allow a prospective new user to check out the board without wasting the time to set up a 
  682.                  new account.  A "visitor" can then set up an account later if he decides to become active.  This keeps 
  683.                  the board free from a number of onetime callers.  Bulletron shows the number of calls, callers, visitors, 
  684.                  new users, time online, new messages, and new uploads for the convenient system        management.  It 
  685.                  is strongly recommended that SYSOPs verify new callers.  Even if you are not running an 
  686.                  adult-oriented BBS, you should know your callers.  Call their telephone number and verify the name, 
  687.                  determine whether the caller is male or female, or a minor.  Many systems have anonymous accounts or 
  688.                  callers may use phoney names.  If a system verifies the users, it is less likely to have illegal or 
  689.                  inappropriate material in messages and copyrighted files as uploads.  Problem users or "hackers" are 
  690.                  not uncommon.  A problem user may be one that uses foul language or enters abusive messages.  
  691.                  Hackers try to break into subscribers' accounts, crash the software, tie up the telephone lines, or in other 
  692.                  ways disable the system, if possible.  Verifying accounts minimizes these problems.  Rather than 
  693.                  deleting the account of a problem user, it is sometimes more effective to change the user's password and 
  694.                  force them to set up multiple accounts.  The extra time required to set up accounts usually discourages 
  695.                  most hackers after a while.  Although BULLETRON does provide callback validation that can give 
  696.                  users access on their first call, keep in mind that this can not prevent children from accessing an 
  697.                  adult-only service.  
  698.               
  699.                  It is possible to have too many of the wrong type of users.  For example, a board that is dedicated 
  700.                  to camera enthusiasts may find the telephone lines frequently tied up with "hacker kids".  To prevent 
  701.                  that, the initial system password may be used to only allow new accounts from those that know a 
  702.                  specific password and not allow all callers to get online.  
  703.               
  704.                  Unless you are independently wealthy and have the altruism of a saint, you will eventually want 
  705.                  the system to at least pay for the telephone lines if not the hardware also.  Start by running a free system 
  706.                  until you have an adequate number of callers.  Get your callers "hooked" on your system, then suggest 
  707.                  that you can add more telephone lines or features if the system paid for itself.  Decide whether you want 
  708.                  to charge by date, by minutes online, or by dollars per hour.  Which method you use will be determined 
  709.                  by what billing methods your software offers, how many subscriber BBS' are in your area, and how 
  710.                  popular your system has become.  If there are many subscriber based systems in your area charging by 
  711.                  date, you may need to charge by date to be competitive.  Expiration date systems commonly charge 
  712.                  about $10 per month or $25 for 6 months.  If you charge by minutes or dollars, $1 or $2 per hour is 
  713.                  common.  Most of the successful BULLETRON subscriber systems charge by minutes online at a rate 
  714.                  of about $1 per hour  online, double during evening prime time hours.
  715.               
  716.                  Once you decide to charge users, do not expect all users to rush sending in their checks.  You 
  717.                  may lose some users, and some users may choose to remain as nonsubscribers.  Start by limiting certain 
  718.                  features, telephone lines, or times of day to subscribers only.  With BULLETRON, for example, putting 
  719.                  time or money or a future expiration date into a user's account automatically raises their access level.  
  720.                  This access level then allows only them on certain telephone lines or gives them access to certain 
  721.                  popular features such as chat or matchmaking.  A system may have 9 telephone lines, for example, 3 of 
  722.                  which would be for subscribers or nonsubscribers, while the other 6 lines are for subscribers only.  If a 
  723.                  caller wants easy access to the system, he will need to subscribe.  Some systems will restrict 
  724.                  nonsubscribers to nonprime time if there are enough subscribers to keep all lines busy during prime 
  725.                  time.  You can also change the amount of time they can be in chat, in downloading, or total time online 
  726.                  depending on their access level, and their access level can be determined by how much they pay.  If you 
  727.                  have some lines dedicated to 28,800 baud modems, you may want to charge an additional surcharge for 
  728.                  use of those lines to pay for the expensive modems.  Bulletron provides a "billing factor" per line to 
  729.                  charge more per hour for the use of certain lines.  New users normally get a free trial period of a couple 
  730.                  of hours to a week to see if they want to subscribe.  Verifying new users' telephone numbers 
  731.                  discourages people from setting up multiple accounts to get the free trial period without subscribing.  If 
  732.                  it is possible for you to process Mastercharge or VISA cards, new users who like the system can 
  733.  
  734.               
  735.  
  736.  
  737.  
  738.  
  739.  
  740.                  provide charge information to join immediately rather than waiting to write and mail in a check.  
  741.                  Systems that accept credit cards usually get more subscribers.  
  742.               
  743.                  Users tend to spend a lot of time (and money) in the chat feature.  This allows users online to 
  744.                  communicate in real time.  BULLETRON has a feature which allows subscribers to "bring" 
  745.                  nonsubscribers into chat who could not normally use that command.  This gives subscribers a feeling of 
  746.                  privilege and teases nonsubscribers into joining.  Adult-oriented systems may want to give free 
  747.                  accounts to female users who encourage male nonsubscribers by inviting them into chat.  To promote 
  748.                  message entry and uploads, BULLETRON does not charge minutes or dollars for time spent in those 
  749.                  commands.
  750.               
  751.                  When a user's account is about to expire, BULLETRON sends a user reminders starting at two 
  752.                  weeks before the expiration date and when two hours of money or time remain in his account.  This 
  753.                  allows the user plenty of time to send in another check.  After his account expires, the access level of a 
  754.                  user may be reduced or the system may prevent access to the system completely.
  755.               
  756.                  As your system becomes popular, you will need to know how many telephone lines are actually 
  757.                  being used, how often all the lines are busy, and what hours are the busiest.  BULLETRON provides 
  758.                  line usage statistics.  It tells how many minutes of each line is in use so you can differentiate time used 
  759.                  on subscriber-only lines versus the nonsubscriber-also lines.  It shows how many minutes one line is in 
  760.                  use, two lines are in use, etc., so that you know how many minutes all lines are in use.  If you find that 
  761.                  all lines were in use 240 minutes per day, you know that the potential for a busy signal is up to 4 hours 
  762.                  and you may decide to add another telephone line.  The minutes of usage per hour for every hour per 
  763.                  day will tell you what the busiest hours are so you can avoid taking the system down for maintenance 
  764.                  then or to limit nonsubscribers during those hours.
  765.               
  766.               
  767.  
  768.  
  769.  
  770.  
  771.  
  772.               3.   Program License Agreement
  773.               
  774.                    3.1.License
  775.               
  776.                  IDK Computer Systems, Inc. ("IDK") grants a license to the individual and/or corporate licensee 
  777.                  to use the program product (the set of computer programs and machine readable and printed materials 
  778.                  supplied with this package) for a term beginning on the day you accept this Agreement and continuing 
  779.                  until termination.  This agreement is automatically terminated if you violate any of the terms and 
  780.                  conditions of this Agreement.  You may terminate this agreement at any time by destroying all copies, 
  781.                  modifications, updates, and original materials supplied with the Program Product.  IDK grants to you 
  782.                  the right to use one copy of the enclosed software program on a single terminal connected to a single 
  783.                  computer (i.e., with a single CPU).  You may not network this software on a Network other than an 
  784.                  approved BULLETRON Network or otherwise use it on more than one (1) computer or computer 
  785.                  terminal at the same time.
  786.               
  787.                    3.2.Copyright
  788.               
  789.                  The software is owned by IDK and is protected by United States copyright laws and international 
  790.                  treaty provisions.  Therefore, you must treat the software like any other copyrighted material (e.g., a 
  791.                  book or musical recording) except that you may either (a) make a copy of the software solely for 
  792.                  backup or archival purposes, or (b) transfer the software to a single hard disk provided you keep the 
  793.                  original solely for backup or archival purposes.  You may not copy the written materials accompanying 
  794.                  the software.  The copyright notice must be maintained and displayed as provided in the program.  
  795.               
  796.                    3.3.Restrictions
  797.               
  798.                  You may not use, copy, modify, merge, rent, lease, or transfer the program product or any portion 
  799.                  or modification thereof in whole or in part, except as expressly provided in this agreement.  You may 
  800.                  not reverse engineer, decompile, or disassemble the software.  You may not use this Software, in any 
  801.                  manner, in violation of applicable Federal, State or Local Laws.  
  802.               
  803.                    3.4.Limited Warranty
  804.               
  805.                  IDK warrants the distribution diskette(s) upon which the program(s) are provided are free from 
  806.                  defects, in materials and workmanship, under normal use, for a period of thirty (30) days from the 
  807.                  original date of purchase, to the original purchaser.  IDK will issue NO refunds once the diskette 
  808.                  envelope is opened.  Returns, if authorized by IDK, will be subject to a 10% restocking fee.  For breach 
  809.                  of any written or implied warranty on this  product, the consumer is limited to the replacement of the 
  810.                  defective diskette(s).
  811.               
  812.                  NOTE:  SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF 
  813.                  INCIDENTAL OR CONSEQUENTIAL DAMAGES SO THE ABOVE LIMITATION OR 
  814.                  EXCLUSION MAY NOT APPLY TO YOU.  
  815.               
  816.                  IDK MAKES NO OTHER WARRANTY OF ANY KIND, EITHER EXPRESSED OR 
  817.                  IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF 
  818.                  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND NO WARRANTY 
  819.                  THAT THE PROGRAM PRODUCT IS FREE OF ERRORS.  IDK, its agents or employees shall not 
  820.                  be liable or responsible for the manner in which the Software is used by the end user, or be liable for 
  821.                  the cost of any repair or correction required for defective IDK program product material except as 
  822.                  stated in this paragraph.
  823.               
  824.                  NO LIABILITY FOR CONSEQUENTIAL DAMAGES.  In no event shall IDK or its suppliers 
  825.                  be liable for any damages whatsoever (including, without limitation, damages for loss of business 
  826.                  profits, business interruption, loss of business information, or other pecuniary loss) arising out of the 
  827.                  use of or inability to use this product, even if IDK has been advised of the possibility of such damages.  
  828.               
  829.                    3.5.General Terms
  830.               
  831.                  This is the only agreement between user and IDK regarding this program product and it may be 
  832.                  modified only by a written agreement between those parties.  This agreement cannot be modified by 
  833.                  purchase orders, advertising, or other representation by any person.  If any provision of this agreement 
  834.                  shall be held invalid, illegal, or unenforceable, then the validity, legality, and enforceability of the 
  835.                  remaining provisions shall not be affected or impaired thereby.  This agreement shall be governed by 
  836.                  the laws of the State of New York.  By opening or keeping the diskette package, you acknowledge that 
  837.                  you have read this agreement, understand it, and agree to be bound by its terms and conditions.
  838.  
  839.               
  840.  
  841.  
  842.  
  843.  
  844.  
  845.               
  846.                    3.6.U.S. Government Restricted Rights
  847.               
  848.                  The software and documentation are provided with restricted rights.  Use, duplication, or 
  849.                  disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(l)(ii) of The 
  850.                  Rights in Technical Data and Computer Software clause at 52.227-7013. Contractor/manufacturer is 
  851.                  IDK Computer Systems, Inc., 129 Cambridge Street, Syracuse, New York 13210-2205.
  852.               
  853.               
  854.  
  855.  
  856.  
  857.  
  858.  
  859.               4.   Hardware Requirements
  860.               
  861.                    4.1.Basic Hardware Requirements
  862.               
  863.                  The minimum hardware configuration that can run Bulletron for OS/2 is largely determined by 
  864.                  the minimum hardware required to run OS/2 at all.  A small system, having one phone line and a local 
  865.                  console session would require:
  866.               
  867.                       an IBM PC compatible 80386, 80486 or Pentium based computer, with
  868.               
  869.                       at least 8 Mbytes of memory;
  870.               
  871.                       at least 60 Mbytes of hard disk;
  872.               
  873.                       a color or black and white VGA display system; and
  874.               
  875.                       a pointing device such as a mouse or trackball.
  876.               
  877.                  In addition to these basic requirements for running the OS/2 operating system, a single phone line 
  878.                  BBS would also require:
  879.               
  880.                       a serial I/O port (a second serial I/O port if the mouse or trackball is connected to a serial I/O 
  881.                    port); and
  882.               
  883.                       a Hayes compatible modem.
  884.               
  885.                  The program and the data structures that BULLETRON builds during its initialization occupy 
  886.                  about 3 Mbytes of RAM.  OS/2 version 2.1 can run a single phone line BULLETRON in 8 Mbytes of 
  887.                  RAM by swapping its graphical user interface out to disk.  If you want to use the BBS' computer for 
  888.                  other programs while BULLETRON is running, then you should install 16 Mbytes of RAM.  Each 
  889.                  additional phone line requires about 128 Kbytes of RAM.  A large system, with 100 phone lines, would 
  890.                  require about 20 Mbytes of RAM.  If your system grows beyond 16 Mbytes of RAM, remember that an 
  891.                  ISA bus only supports 16 Mbytes of RAM.  To access memory beyond 16 Mbytes, you must be using 
  892.                  MicroChannel, EISA or PCI.
  893.               
  894.                  The basic files required to run BULLETRON occupy about 5 Mbytes of hard disk space.  This 
  895.                  disk space requirement grows slowly as the number of user accounts, messages, and downloadable files 
  896.                  for your BBS increases.  Each user account adds 1 Kbyte.  Each message will add an average of about 3 
  897.                  Kbytes.  A large system, with 10,000 user accounts and 20,000 messages would increase the disk space 
  898.                  requirement from about 5 Mbytes to about 70 Mbytes.  Each downloadable file that you put on-line 
  899.                  with your BBS requires, obviously, enough disk space to hold the file, and about 256 bytes, average, to 
  900.                  hold a description of the file. 
  901.               
  902.                  Each phone line that you connect to the BBS requires one modem and one serial port.  Beyond 
  903.                  the "COM2" device, it is necessary to use a multi-port card, like a Digiboard product.  Non-intelligent 
  904.                  multi-port cards work well to about 16 phone lines.  For systems supporting more that 16 telephone 
  905.                  lines, it is strongly recommended that intelligent serial cards be used for all modem ports.  To estimate 
  906.                  the number of phone lines needed, practice has shown that a BBS that is oriented towards messaging or 
  907.                  file transfers can support about 200 active users per phone line, and a BBS that specializes in chat 
  908.                  services can support  about 75 active users per phone line.  For a technical support BBS, the number of 
  909.                  users per phone line can be much greater, perhaps as many as 10,000, because most users will place 
  910.                  only a few calls during their lifetime.
  911.               
  912.                  Based on the above facts, and some practical experience, the table below gives  some rough 
  913.                  estimates of the amount of memory and disk space that would typically be used by various sized 
  914.                  systems.  These figures do not include disk space occupied by downloadable files.
  915.               Phone LinesUser AccountsRAM       Disk Space
  916.                                             
  917.  
  918.                                             
  919.                 1         200       8 Mb      60 Mb
  920.                                             
  921.  
  922.                                             
  923.               2         400       8 Mb      60 Mb
  924.                                             
  925.  
  926.                                             
  927.               4         800       8 Mb      80 Mb
  928.                                             
  929.  
  930.                                             
  931.               8         1600      8 Mb      80 Mb
  932.                                             
  933.  
  934.                                             
  935.               16        3200      16 Mb     100 Mb
  936.                                             
  937.  
  938.                                             
  939.               32        6400      16 Mb     100 Mb
  940.                                             
  941.  
  942.                                             
  943.               64        12,800    16 Mb     175 Mb
  944.                                             
  945.  
  946.                               
  947.                                             
  948.  
  949.                    4.2.LAN Hardware Requirements
  950.               
  951.                  A Local Area Network (LAN) is not required to run BULLETRON, but BULLETRON can take 
  952.                  advantage of many LAN features if one is present.
  953.               
  954.                  BULLETRON interfaces to LAN systems through an interface known as "named pipes".  Named 
  955.                  pipes service is provided by IBM Lan Server, Microsoft Lan Manager, Novell Netware and some other 
  956.                  brands of LAN systems.
  957.               
  958.  
  959.               
  960.  
  961.  
  962.  
  963.  
  964.  
  965.                  Two services are provided by BULLETRON that require a LAN that supports named pipes.  The 
  966.                  first is called "LAN Logon".  LAN Logon allows user on workstations of the LAN to log on to a 
  967.                  BULLETRON that is installed on one of the LAN's servers by connecting through the LAN, without 
  968.                  the use of modems, serial ports or serial cables.
  969.               
  970.                  The second service requiring a LAN is called "distributed processing".  Though BULLETRON is 
  971.                  written to allow up to 2,000 concurrent users to log on to a single computer without the use of a LAN, 
  972.                  the processing load imposed by that many users may be more than any available hardware 
  973.                  configuration can handle.  Through distributed processing, a single BBS can be divided up among 
  974.                  several computers so that each handles processing for 100 to 200 phone lines, with all of the computers 
  975.                  accessing a common set of user accounts, messages and downloadable files.
  976.               
  977.               
  978.  
  979.  
  980.  
  981.  
  982.  
  983.               5.   Installation
  984.               
  985.                    5.1.Hardware Setup
  986.               
  987.                  Install the OS/2 operating system on your computer according to the instructions provided by 
  988.                  IBM and make sure that it works reliably.  If you are  not well acquainted with the OS/2 operating 
  989.                  system, it is best to install ALL features.  Later, you can decide which features of the operating system 
  990.                  are not important to you and you can delete them.  You must install "Serial Device Support" if you plan 
  991.                  to use devices "COM1", "COM2", "COM3" or "COM4".  If you have the OS/2 operating system 
  992.                  installed and working, and can access all disk drives and CD-ROMs, then that much of your hardware 
  993.                  is set up properly.
  994.               
  995.                  Although BULLETRON can run correctly on a FAT (DOS compatible) format drive, its 
  996.                  performance may be impaired by the long disk operations required to open and close files on FAT 
  997.                  format drives.  In most cases, performance is noticeably enhanced by the use of HPFS.  
  998.               
  999.                  5.1.1.  Serial Ports Setup
  1000.               
  1001.                  If you plan to use more than the two serial devices that are supported by OS/2's "Serial Device 
  1002.                  Support" option (or 3 or 4 for certain models of PS/2 and EISA bus systems), then you must purchase 
  1003.                  and install an extended serial port card.  Manufacturers of extended serial port cards include, but are not 
  1004.                  limited to, Digiboard, Stargate and Arnet. Not all products from all of these manufacturers have device 
  1005.                  drivers for OS/2.  Check with the manufacturer before purchasing your card to be sure that an OS/2 
  1006.                  device driver is available.  Follow the manufacturer's instructions for installing the card that you select 
  1007.                  and for  installing its OS/2 device driver.
  1008.               
  1009.                  The "Serial Device Support" that IBM ships with OS/2 supports up to four devices on a MCA 
  1010.                  (Microchannel Architecture) or EISA (Extended Industry Standard Architecture) system.  For ISA 
  1011.                  (Industry Standard Architecture) systems, the OS/2 "Serial Device Support" option will only support 
  1012.                  "COM1" and "COM2".  If you install a serial mouse on "COM2" with an ISA machine, the OS/2 
  1013.                  mouse driver may create a phantom "COM3" device that can never be accessed.  If your manufacturer 
  1014.                  gives you the option, it is best to name the first port on your extended serial port card as "COM5", the 
  1015.                  second port as "COM6", and so forth.  Appendix G of this manual gives details of recommended 
  1016.                  settings for several popular brands of extended serial port cards.
  1017.               
  1018.                  When you have finished installing OS/2 and any extended serial port card(s), a simple diagnostic 
  1019.                  program is provided with Bulletron that you can run to verify that the device drivers are responding 
  1020.                  correctly.  With your installation kit for Bulletron, you should have received a file named 
  1021.                  "SPTEST.ZIP".  Unpack this file onto your hard disk and you will find a file named "SPTEST.DOC" 
  1022.                  that  contains a descriptive write-up of the test, and an executable file named "SPTEST.EXE".  You can 
  1023.                  run the test from an OS/2 command prompt by entering
  1024.               
  1025.                  
  1026.               
  1027.                  SPTEST
  1028.               
  1029.                  
  1030.               
  1031.                  The SPTEST program will perform a few simple calls to the serial device drivers, reporting back 
  1032.                  any errors that occur.  It begins by looking for a device named "COM1", then "COM2", and so forth 
  1033.                  until you tell it to stop.  SPTEST is, by no means, an exhaustive test of the serial port hardware.  It 
  1034.                  executes all of the device driver functions that the BBS uses during initialization, then moves on to the 
  1035.                  next port.  However, it will tell you if a driver for some port is not responding.  If all of the devices that 
  1036.                  you plan to use for the BBS pass this test, then the chances are better than not that the BBS program 
  1037.                  will be able to use those devices properly.  If SPTEST encounters an error trying to initialize one of the 
  1038.                  ports, then you can be certain that the BBS program will not be able to access that port.  SPTEST may 
  1039.                  also report that a port is "slow".  Usually, if one port tests "slow", then all the ports on that card will 
  1040.                  also test "slow".  The BBS program will probably work, but users may complain about poor response 
  1041.                  from the system, and file transfers may occasionally time out.  If all  ports test "slow", then you should 
  1042.                  look into purchasing a faster motherboard or more memory for your computer.  A computer with a 
  1043.                  386SX, 486SX, 'SL, 'SLC, etc. processor or less than 8 Mbytes of RAM is not really fast enough to run 
  1044.                  OS/2 and a BBS program in real time.
  1045.               
  1046.                  In the most typical installation, you will use the "COM1" device for a serial pointing device such 
  1047.                  as a mouse or trackball, reserve the "COM2" device for a modem that you can use to dial out, send or 
  1048.                  receive FAXes, and use devices "COM5", "COM6", and so forth, which are on your extended serial 
  1049.  
  1050.               
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.                  port card, for the BBS.  Small systems, not using an extended serial port card, will typically use the 
  1057.                  "COM1" device for a serial pointing device and use the "COM2" device for the BBS.
  1058.               
  1059.                  5.1.2.  Modems Setup
  1060.               
  1061.                  Unless you plan to limit communications with the BBS to in-house operations only, using LAN 
  1062.                  connections or null modems, you will need to install one or more Hayes compatible modem(s) on your 
  1063.                  computer.  External modems are preferred, because internal modems can usually only be configured as 
  1064.                  a "COM1", "COM2", "COM3" or "COM4" device, and lack the status indicator lights that are used for 
  1065.                  troubleshooting.  Before connecting the modem(s) to your BBS, connect them off-line to a terminal, or 
  1066.                  a computer running a terminal emulator program and enter the command
  1067.               
  1068.                  
  1069.               
  1070.                  AT &F &W
  1071.               
  1072.                  
  1073.               
  1074.                  to reset the modem to factory default settings.  Then enter the command
  1075.               
  1076.                  
  1077.               
  1078.                  AT E0 M0 V0 &C1 &D2 &W
  1079.               
  1080.                  
  1081.               
  1082.                  This tells the modem  1) do not echo data in the command state;  2) turn off the speaker;  3) use 
  1083.                  numeric result strings rather than verbal;  4) report the carrier detect signal accurately; and 5) 
  1084.                  disconnect any call in progress when the computer turns off the DTR signal.  This modem 
  1085.                  configuration will work in the vast majority of situations.  US Robotics modems are notably different 
  1086.                  because some of these settings are in DIP switches.  For more details concerning specific modems, see 
  1087.                  Appendix A of this manual.
  1088.               
  1089.                  5.1.3.  Direct Connection via Null Modem
  1090.               
  1091.                  Some offices may require terminals to be directly connected or "hardwired" without the use of a 
  1092.                  modem.  This can be done by setting the modem type (see "Assigning Serial Ports") to type "D".  The 
  1093.                  initial baud rate should be set to the Baud rate of the terminal, normally 9600 Baud, (see "Modem 
  1094.                  Control Strings").  Figure 5.1.3-1 shows the wiring diagram for the cable that is normally used to 
  1095.                  connect a computer directly to a terminal or another computer running a terminal emulator program.  
  1096.                  The most important feature of this cable is that the Transmit Data (TxD) and Receive Data (RxD) 
  1097.                  signals are crossed inside the cable. This is done so that data (keystrokes) sent by the terminal are 
  1098.                  received by the computer, and data sent by the computer are received by the terminal for display.  
  1099.                  Crossing the Request to Send (RTS) and Clear to Send (CTS) signals in the cable implements hardware 
  1100.                  flow control.  If the terminal is too busy to accept data from the computer, then it turns off its RTS 
  1101.                  signal, the computer "sees" CTS go off, and stops sending until it sees CTS come back on.  Conversely, 
  1102.                  when the computer is too busy to accept data from the terminal, it turns off RTS, the terminal sees CTS 
  1103.                  go off, and buffers keystrokes internally until it sees CTS come back on.  The Data Terminal Ready 
  1104.                  (DTR) and Data Set Ready (DSR) signals are also crossed inside the null modem cable.  DTR is a 
  1105.                  signal that the computer or terminal must turn on whenever it is operational.  Modems interpret DTR 
  1106.                  turning off as a signal to break the connection; that is, hang up the phone.  Connecting the terminal's 
  1107.                  DTR to the computer's DSR signal lets the computer sense whether or not the terminal is turned on.  
  1108.                  Likewise, when the terminal sees its DSR signal on, it "knows" that the computer is turned on.  The null 
  1109.                  modem cable also connects the Data Carrier Detect (DCD) signal at each end to the DTR signal at the 
  1110.                  other end.  Doing this causes Bulletron to terminate any session in progress if the terminal is turned off, 
  1111.                  or the cable becomes unplugged.  Bulletron interprets the DCD signal going off as a loss of carrier 
  1112.                  signal from the modem.  Figure 5.1.3-2 shows the alternate pin assignments that are used if the 
  1113.                  computer, or the terminal has a nine-pin serial connector.
  1114.               
  1115.                  In some situations a variant of the null modem cable will need to be used.  If you know that your 
  1116.                  terminal or terminal emulator program does not support hardware (RTS/CTS) flow control, then you 
  1117.                  should connect the CTS signal to the RTS signal at the BBS end of the null modem cable.  Bulletron 
  1118.                  will not send out any data if it does not see the CTS signal turned on.  You can "fool" it by connecting 
  1119.                  its CTS signal to its own RTS.  If you do this, however, be warned, that results will be unreliable and 
  1120.                  unpredictable above 2400 Baud.  Bulletron does not support the concept of software (XON/XOFF) 
  1121.                  flow control.
  1122.  
  1123.               
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.               
  1130.                  If you purchase null modem cables or adapters pre-made, be sure to check or specify the internal 
  1131.                  wiring carefully.  Manufacturers of null modem adapters will frequently not implement all of the 
  1132.                  required signals.
  1133.               
  1134.               
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.                    5.2.Software Setup
  1141.               
  1142.                  Assuming that you have a computer that is running OS/2 version 2.0 or greater, configured with 
  1143.                  at least one free serial port, with a Hayes compatible modem attached, installation of Bulletron is fairly 
  1144.                  simple.  The following list of steps will guide you through it:
  1145.               
  1146.                      1.    Make a new file directory on your hard disk.  We recommend that you name this directory 
  1147.                      "\BBS", because that's what we named it.  The actual name of this directory is not really 
  1148.                      important, though different parts of this manual may refer to files in the "BBS directory".  In 
  1149.                      general, we will refer to it as the "BBS Default Directory.  You can place this directory on any 
  1150.                      disk drive having 10 Mbytes or more of free space.  Section 5.2.1 gives some guidelines on 
  1151.                      selecting a disk partition based on your needs.
  1152.               
  1153.                      2.    Copy (or unZIP) all of the files on you release diskette(s) into your BBS Default Directory.
  1154.               
  1155.                      3.    Your BBS is now ready to run!  At an OS/2 command line prompt, enter "BBS2 ALL 
  1156.                      NOMODEM" to start the program.
  1157.               
  1158.                      4.    If you want to log on using your local console and keyboard, press your F1 key to select phone 
  1159.                      line 1, then press your "Esc" key to initiate the logon sequence.  Your account code is 
  1160.                      "SYSOP" and your password is "TEST".
  1161.               
  1162.                  Actually, there's a little more to it than that, if you want your BBS to look different from every 
  1163.                  other Bulletron when users start to call, but every Bulletron is shipped pre-configured for a Hayes 
  1164.                  Smartmodem 2400 on the COM1 port, with all of the required menus and command prompts installed 
  1165.                  and a system operator account for you to use.  Of course, you will want to customize the system for 
  1166.                  your own particular needs, so the remainder of this chapter discusses the thousands of various ways that 
  1167.                  you can customize the system.
  1168.               
  1169.                  5.2.1.  Selecting a Disk Partition
  1170.               
  1171.                  A BBS that uses one or two phone lines will run quite acceptably from a FAT (DOS compatible) 
  1172.                  disk partition.  Beyond two phone lines, an HPFS (OS/2 High Performance File System) partition is 
  1173.                  strongly recommended for performance reasons.  Beyond 20 phone lines, the HPSF386 file system 
  1174.                  drivers (shipped with IBM LAN Server - Advanced) are strongly recommended, to optimize disk 
  1175.                  access for multiple concurrent users.  If you create an HPFS partition on your hard disk drive, it is 
  1176.                  strongly recommended that you NOT make the disk partition from which the system boots an HPFS 
  1177.                  partition.  It is best to make a FAT partition of about 100 Mbytes for holding the OS/2 operating system 
  1178.                  files required to boot the system, then use the rest of the disk as an HPFS partition.  This allows you to 
  1179.                  edit the CONFIG.SYS file after booting from a DOS system on a floppy disk, in the event that you 
  1180.                  should make a mistake editing the CONFIG.SYS file, making it impossible to boot OS/2.
  1181.               
  1182.                  5.2.2.  Files List
  1183.               
  1184.                  After unZIPping the files on your release diskette(s), you should have the following files in your 
  1185.                  BBS Default Directory.  This list is provided as a reference to tell you what each of the files contains, in 
  1186.                  case you inadvertently delete one of them.  IT IS VERY IMPORTANT THAT ALL OF THESE FILES 
  1187.                  BE IN THE BBS DEFAULT DIRECTORY, AND THAT THE BBS DEFAULT DIRECTORY BE 
  1188.                  THE CURRENT DIRECTORY WHENEVER YOU START THE SYSTEM.  To minimize disk 
  1189.                  accesses in the multi-user environment, Bulletron does not search file paths to find the files it needs 
  1190.                  while running.
  1191.               
  1192.                  5.2.2.1.  Executable Programs - Standard Version
  1193.               
  1194.                  Bulletron is available in two basic forms:  a standard version, which most people prefer because 
  1195.                  of its simplicity; and a client/server version, which distributes processing over several computers for 
  1196.                  accessibility to greater numbers of phone lines.  The standard version provides better real-time 
  1197.                  performance and easier installation and maintenance for systems requiring less than two thousand 
  1198.                  telephone lines.  The client/server version is a bit more complicated, but allows up to 223 computers to 
  1199.                  be used as "front-end" processors, handling up to 2,000 phone lines each.  As a side effect of 
  1200.                  distributing the processing, the client/server version also allows you to write your own, third party, 
  1201.                  programs to manipulate information in the BBS' internal database without going off-line.  The 
  1202.                  executable program files for the standard version are:
  1203.               
  1204.                     BBS2.EXE         the main BBS program              
  1205.               
  1206.  
  1207.               
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.                     BBUTIL2.EXE off-line support utilities              
  1214.               
  1215.                     BBUTLDB2.EXE     application specific database utilities              
  1216.               
  1217.                     NODECOMP.EXE     FIDO node list compiler              
  1218.               
  1219.                     REBUILD2.EXE     rebuild the index files              
  1220.               
  1221.                  5.2.2.2.  Executable Files - Client/Server Version
  1222.               
  1223.                  The executable programs for the client/server version of Bulletron are:
  1224.               
  1225.                     BBSRVR.EXE  the BBS database server              
  1226.               
  1227.                     BBS2L.EXE        the main BBS program client              
  1228.               
  1229.                     BBUTIL2L.EXE     off-line support utilities client              
  1230.               
  1231.                     BBUTLDBL.EXE     application specific database utilities client              
  1232.               
  1233.                     NODCOMPL.EXE     FIDO node list compiler client              
  1234.               
  1235.                     REBUILD2.EXE     rebuild the index files              
  1236.               
  1237.                  5.2.2.3.  BBS Database Files
  1238.               
  1239.                  The heart of Bulletron is a high performance relational database engine that uses balanced binary 
  1240.                  tree (B-Tree) indexing.  The files that make up the BBS database are:
  1241.               
  1242.                     BBSFILE9.DAT     defines the BBS database              
  1243.               
  1244.                     BBLOCKS.DAT record locks              
  1245.               
  1246.                     BBPARMS.DAT setup parameters              
  1247.               
  1248.                     BBPARMS.IDX index file for BBPARMS.DAT              
  1249.               
  1250.                     BBSMSGS.DAT BBS message file              
  1251.               
  1252.                     BBSMSGS.IDX index file for BBSMSGS.DAT              
  1253.               
  1254.                     BBUSERS.DAT user account records              
  1255.               
  1256.                     BBUSERS.IDX index file for BBUSERS.DAT              
  1257.               
  1258.                     BBMMANS.DAT multiple choice matchmaker responses              
  1259.               
  1260.                     BBMMANS.IDX index file for BBMMANS.DAT              
  1261.               
  1262.                     BBSUBQU.DAT essay questionnaire responses              
  1263.               
  1264.                     BBSUBQU.IDX index file for BBSUBQU.DAT              
  1265.               
  1266.                     BBADBPL.DAT adventure game / expert system records              
  1267.               
  1268.                     BBADBPL.IDX index file for BBADBPL.DAT              
  1269.               
  1270.                     BBDATBAS.DAT     application specific database              
  1271.               
  1272.                     BBDATBAS.IDX     index file for BBDATBAS.DAT              
  1273.               
  1274.                     BBDOWNLD.DAT     descriptions of downloadable files              
  1275.               
  1276.                     BBDOWNLD.IDX     index file for BBDOWNLD.DAT              
  1277.               
  1278.                     BBFNODES.DAT     FIDO node list database              
  1279.  
  1280.               
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.               
  1287.                     BBFNODES.IDX     index file for BBFNODES.DAT              
  1288.               
  1289.                     BBFREF.DAT  FIDO area code/country/state reference              
  1290.               
  1291.                     BBFREF.IDX  index file for BBFREF.DAT              
  1292.               
  1293.                  5.2.2.4.  Documentation Files
  1294.               
  1295.                  The documentation files included with Bulletron are:
  1296.               
  1297.                     SYSOPMAN.PRN     System Operator's Manual              
  1298.               
  1299.                  5.2.2.5.  Menus, Prompts and Help Messages
  1300.               
  1301.                  These files are actually optional because they are loaded into the BBS' message file.  Though they 
  1302.                  are never accessed while the BBS program is running, it is a good idea to keep them in the BBS Default 
  1303.                  Directory to facilitate rapid reloading of the menus, prompts and help messages, should you ever make 
  1304.                  changes to them.  The specific usage of each is discussed in section 5.4.10 of this manual.
  1305.               
  1306.                     PROMPT0.UTL - PROMPT19.UTL These files contain all of the prompt and literal strings 
  1307.                       displayed by the BBS.  You can edit these to customize your system or adapt it for 
  1308.                       a language other than English.  Care must be taken not to change any character 
  1309.                       strings beginning with the "%" character.  The BBS program uses these to 
  1310.                       substitute data items being displayed and changing them can result in memory 
  1311.                       access violations.              
  1312.               
  1313.                     MENU*.UTL   These are the menus displayed to callers who select straight ASCII - no 
  1314.                       graphics.              
  1315.               
  1316.                     AMENU*.UTL  These are the menus displayed to callers who select ANSI graphics.              
  1317.               
  1318.                     RMENU*.UTL  These are the menus displayed to callers who select RIP graphics.              
  1319.               
  1320.                     *.UTL       Any ".UTL" files not covered by the above four categories are special 
  1321.                       messages that the BBS program displays to callers for special purposes.  Details 
  1322.                       are in section 5.4.10.              
  1323.               
  1324.                  5.2.2.6.  Other Support Files
  1325.               
  1326.                     DOOR.ICO         is an icon that is placed in your OS/2 Minimized Icon Viewer folder 
  1327.                       when a user spawns a sub-session by opening a "door".  You can double click on 
  1328.                       one of these to display what the user is seeing from the "door" program.  Closing 
  1329.                       one of them forces the user out of the "door" program and back to the BBS 
  1330.                       program.              
  1331.               
  1332.                    5.3.Program Start-up
  1333.               
  1334.                  It's easy to run Bulletron.  To run Bulletron from an OS/2 command prompt, simply enter
  1335.               
  1336.                  
  1337.               
  1338.                  BBS2
  1339.               
  1340.                  
  1341.               
  1342.                  There are several command line parameters which can be used when starting Bulletron:
  1343.               
  1344.                     ALLAllows you to start all phone lines right away.  This is useful if you are starting up 
  1345.                       from a batch file.  If you do not put "ALL" on the command line when you start 
  1346.                       the program, then you will use menu option "A" from the Control Window to start 
  1347.                       the phone lines once the BBS program is running.              
  1348.               
  1349.                     BLIMnnnn    This parameter allows you to control the amount of output data that Bulletron will 
  1350.                       buffer internally before sending it to the OS/2 serial device drivers.  In general, 
  1351.                       OS/2 will work most efficiently if write requests to the serial device driver send 
  1352.  
  1353.               
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.                       data blocks as large as possible.  The maximum value for "nnnn" is 2048.  The 
  1360.                       minimum value is 8.  The default value is 118.  The reason why the default is set 
  1361.                       at 118 is because  buffering more data than that has been experimentally 
  1362.                       determined to give a "jerky" feel to the system, as perceived by the users.              
  1363.               
  1364.                     BOOSTnn     Use this parameter to specify the priority boost given to serial port output threads.  
  1365.                       The main BBS program runs at regular class priority level 0.  By default, the serial 
  1366.                       port output threads run at regular class priority level 1.  Systems using an 80386 
  1367.                       CPU usually get optimum performance with the output threads running at regular 
  1368.                       class priority level 6, whereas 80486 systems seem to achieve optimum 
  1369.                       performance at regular class priority level 1.  The number, "nn", in this parameter 
  1370.                       specifies the priority level, within regular class, for the output threads. Allowable 
  1371.                       values are 0 through 31.  On systems with intelligent multiport serial cards, like a 
  1372.                       Digiboard PC/xem, you may find local console sessions to be intolerably slow 
  1373.                       unless you start your system with "BOOST0".              
  1374.               
  1375.                     CHATStarts the system in "SYSOP available for chat" mode. When a user calls the 
  1376.                       system operator to chat with either the "C" or "/SYSOP" command, the system 
  1377.                       will normally inform the user that the "SYSOP is not available to chat at this 
  1378.                       time".  If the SYSOP logs on to the system, then he is normally invisible to all the 
  1379.                       other users.  By including this keyword option on the command line, the operator  
  1380.                       makes it available for the users on line to call for his attention by ringing the 
  1381.                       beeper on the computer.  It can be most annoying, but really helps to get new 
  1382.                       users to spend lots of money and get hooked on the system.              
  1383.               
  1384.                     DATEFor the sake of maintaining accurate system usage records, Bulletron records the 
  1385.                       date each time when it is shut down in its  parameters file.  If the system is 
  1386.                       restarted with a date less than the recorded value, then an error message is 
  1387.                       displayed and the system aborts start-up.  In the event that the date in your 
  1388.                       computer was set incorrectly into the future the last time that Bulletron was run, 
  1389.                       you can use the "DATE" parameter when the system is started to cause this error 
  1390.                       check to be ignored.              
  1391.               
  1392.                     DOWNhhmm    This parameter will automatically shut Bulletron down at the time 
  1393.                       specified by hhmm.  The purpose of this is to run Bulletron from a batch file 
  1394.                       which can automatically do a backup or other function when Bulletron terminates, 
  1395.                       then restart Bulletron when the backup is finished. You can also add seven "Y"s 
  1396.                       or "N"s to indicate whether Bulletron should shut down at that time on that DAY.  
  1397.                       For example, "DOWN0530YNNYNNY" will shut Bulletron down at 5:30 AM on 
  1398.                       Sunday, Wednesday, and Saturday.              
  1399.               
  1400.                     NOERRIf any warnings or errors occur during initialization, then messages will be 
  1401.                       displayed and the BBS will wait for you to press [ENTER].  If you are starting the 
  1402.                       BBS from a batch file and do not want it to pause, include NOERR on the 
  1403.                       command line.  Notice, however, that if any critical errors did occur, the system 
  1404.                       will prevent remote callers from logging on and only allow the SYSOP to log on 
  1405.                       locally to correct the situation.              
  1406.               
  1407.                     NOMODEM     Allows starting the system without sending modem commands.  This 
  1408.                       allows you to change the modem commands or port assignments if the system can 
  1409.                       not be started because the modem commands or port assignments are wrong.  You 
  1410.                       will need to use this when upgrading your system to a greater number of phone 
  1411.                       lines.  16-line/17-user, or 32-line/33-user version.  Starting with this option also 
  1412.                       allows you to log on locally and make changes to the system while preventing 
  1413.                       users from calling in.              
  1414.               
  1415.                     NOWINDOWS   This prevents the static allocation of windows.  When you press an "F" 
  1416.                       key to view a user's session, you will only see what the user has just typed, not the 
  1417.                       past 20 lines of his session.   This can make your system more responsive by 
  1418.                       eliminating the overhead needed to continuously maintain an image of each active 
  1419.                       session.              
  1420.               
  1421.                     PC          This alters the time slicing to accommodate slower CPU speeds, like 
  1422.                       80386SX systems and systems running less than 40 MHz..  It forces a task switch 
  1423.                       each time a carriage return is sent, as well as each time that the serial output buffer 
  1424.                       is full.              
  1425.  
  1426.               
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.               
  1433.                     PURGEnn     This parameter allows you to specify the hour at which the system will perform its 
  1434.                       daily automatic purge of dead accounts, messages, matchmaker responses, and so 
  1435.                       forth.  The "nn" specified an hour or the day, in military time; that is, "00 means 
  1436.                       midnight, "05" means 5:00 AM, "19" means 7:00 PM, and so forth.  If this 
  1437.                       parameter is omitted, then the system will begin its purge each day at 3:00 AM.              
  1438.               
  1439.                     OFFLINE     This parameter will cause Bulletron to display the "OFFLINE" message whenever 
  1440.                       anyone calls.  After displaying the message, it will disconnect the user.  The 
  1441.                       purpose of this is to allow the system to answer the phone but not let anyone while 
  1442.                       the sysop is on vacation, performing customizations or if the system is off-line for 
  1443.                       any reason.              
  1444.               
  1445.                     SSnScreen Saver wait time.  To prevent burnin on the monitor, Bulletron will return 
  1446.                       to the Control Window and blank the screen after a period of time.  Press any key 
  1447.                       to return to the control window.  If Bulletron does not get a keystroke from the 
  1448.                       console keyboard in "n" minutes, it will automatically blank the screen.  "n" 
  1449.                       defaults to 15 minutes, but can be set to any number with the SS parameter.  If "n" 
  1450.                       is zero, no automatic blanking will be done but the screen can still be manually 
  1451.                       blanked with the Z command from the Control Window.  For example,"SS60" 
  1452.                       waits 60 minutes before blanking.              
  1453.               
  1454.                     SYSnThis parameter is only used in the client/server version of the software, when 
  1455.                       running multiple copies of Bulletron on a local area network.  It is used to 
  1456.                       distinguish between "PL", "PM" and "PXO" parameters used on each workstation.  
  1457.                       For example, one workstation may be started with SYSA, the next SYSB, 
  1458.                       SYSC...SYSZ and a different set of "PL", "PM", "PXO" command features will 
  1459.                       be selected for each workstation.  Actually, any character  code greater than 20H 
  1460.                       can be used for "n", allowing a theoretical maximum of 223 workstations, though 
  1461.                       the OS/2 command line interpreter may choke on some characters.              
  1462.               
  1463.                     SRVRxxxxxxxx     This parameter is only used in the client/server version of the software..  
  1464.                       It declares the name of the file server that is running the database engine, 
  1465.                       BBSRVR, where "xxxxxxxx" is the network name of the server.  You can use the 
  1466.                       special string "$LOCAL" for the server name to run BBSRVR and BBS2L on the 
  1467.                       same computer with no networking software installed.              
  1468.               
  1469.                     USERSnIf your system is configured for more phone lines and users than you wish to use, 
  1470.                       set "n" to the number of telephone lines that you want to use plus one (for your 
  1471.                       local console logons).  For example, if your system is configured for 10 users, but 
  1472.                       you only have a 4 port Digiboard, you may want to enter USERS6:  4 ports on the 
  1473.                       Digiboard, plus COM1, plus the local console.              
  1474.               
  1475.                     VDISKnIf you have a ram drive or VDISK, you can improve the performance of Bulletron 
  1476.                       by copying the messages located in your "utilities" sub-board to the ram drive for 
  1477.                       faster access.  The "n" is the RAM disk drive letter.  If your RAM drive is drive 
  1478.                       E:, the parameter would be VDISKE.  Running the BBS program in this way will 
  1479.                       show little or no improvement if you have OS/2 disk caching enabled in your 
  1480.                       CONFIG.SYS file.  This start-up option is not available with the client/server 
  1481.                       adaptation because it could result in the generation of more C-Tree file handles 
  1482.                       that the server module is compiled to handle.              
  1483.               
  1484.                  The very first time you start up your system, you must start it with
  1485.               
  1486.                  
  1487.               
  1488.                  BBS2 ALL NOMODEM
  1489.               
  1490.                  
  1491.               
  1492.                  This allows you to log on as the system operator, through a local console session, to set up the port 
  1493.                  assignments and modem parameters.
  1494.               
  1495.                    5.4.Customizing your System
  1496.               
  1497.                  After starting Bulletron, select a line number, using one of the F-keys on your console keyboard, 
  1498.  
  1499.               
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.                  and enter CTRL/K or ESC to start a local session.  Log on with the system operator account SYSOP 
  1506.                  (the default password when the disk was shipped is TEST).  Now enter command "P" to change the 
  1507.                  installation parameters and customize the BBS.
  1508.               
  1509.                  After entering "P", you will see the system Installation/Customization Menu:
  1510.               
  1511.               
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.                  This menu allows you to change all of the essential features of Bulletron.  At the Bulletron main 
  1518.                  command prompt ("What next?"), you can enter "P" to get the Installation/Customization Menu or "Px" 
  1519.                  to access subcommand "x" on the "P" menu directly.  The Installation/Customization Menu allows you 
  1520.                  to change the essential features of the system.  A secondary menu, the Extended Features Menu, allows 
  1521.                  you to modify nonessential features:
  1522.               
  1523.               
  1524.  
  1525.  
  1526.  
  1527.  
  1528.  
  1529.                  5.4.1.  Defining Access Levels
  1530.               
  1531.                  The first thing that you need to do to begin customization of your Bulletron system is define your 
  1532.                  access levels.  Access levels define, for each user, which features of the system he is able to use and 
  1533.                  what time limits will be imposed on his sessions.  We suggest the following as a good place to start.  
  1534.                  You can add more access levels later on, as you see the need to further refine individuals' access rights 
  1535.                  and privileges.
  1536.               
  1537.                     10 - Unverified New User.  Access level 10 is granted by the system the first time someone 
  1538.                       calls.  You have to be careful about these people because children will call your 
  1539.                       system and try to "hack" it.  They may attempt to use your system to sell drugs, 
  1540.                       stolen merchandise, stolen credit card numbers, prostitution, gambling, and so 
  1541.                       forth.  Given the chance, they may also post obscene messages and death threats 
  1542.                       to your callers.  Level 10 users are not given privilege to write any messages of 
  1543.                       any kind.              
  1544.               
  1545.                     20 - Verified New User.    Each time a person sets up an account on your system, the 
  1546.                       system will ask them to fill out a "New Account Application" screen.  You should 
  1547.                       call them back by voice telephone, usually within one week to ten days, to verify 
  1548.                       that they are who they say they are. People from competing companies may sign 
  1549.                       up using the name of someone you know, hoping to steal trade secrets.  It is 
  1550.                       important that you verify every new account. Some people will carry on the 
  1551.                       masquerade for years.  Verifying the new users prevents children from playing 
  1552.                       pranks on you, also.  As SYSOP, you can manually raise the access level of a new 
  1553.                       account to 20 when you verify them, using the "+" command from the main menu.              
  1554.               
  1555.                     100 - Paid Subscriber.     At some time in the future, you may wish to grant additional 
  1556.                       privileges to people who purchase connect time on your system.  One suggestion 
  1557.                       might be "entertainment" oriented services, such as public forums on politics, 
  1558.                       sports, religion, environmental issues, etc.  Another common subscriber service is 
  1559.                       the matchmaking and dating service.  Another is multi-user interactive games.              
  1560.               
  1561.                     500 - Company Employees.   This privilege level is granted to give access to files and 
  1562.                       messages that might be considered trade secrets.  It also allows the holder to post 
  1563.                       public messages that would be treated as read-only for the general public.              
  1564.               
  1565.                     1000 - Systems Management. This privilege level allows the holder to modify any menus, 
  1566.                       prompts, screens, and any other part of your system remotely.              
  1567.               
  1568.                  In a subscriber based system, Bulletron automatically raises and lowers the access levels of 
  1569.                  accounts when their subscription money runs out and when they renew their subscription.  You will 
  1570.                  typically let unverified callers have some very low default access level so that they are invisible to the 
  1571.                  other callers.  You raise them to a slightly higher access level when you verify that they are not prank 
  1572.                  callers, so that other users can see them, but do not give them access to most of the features of the 
  1573.                  system.  The other callers will usually send them private mail and call them into chats.  If you set the 
  1574.                  nonsubscriber session time limits fairly short, then nonsubscribers will have an incentive to pay the 
  1575.                  subscription fee so that they will not be subject to having their session terminated in the middle of a 
  1576.                  chat or reading mail messages.  The other callers will usually tell them about all the wonderful features 
  1577.                  that they are missing out on by not subscribing.
  1578.               
  1579.                  During system setup, you specify to Bulletron what the default access levels should be for 
  1580.                  subscribers.  When a caller has money or time remaining in his account, Bulletron automatically raise 
  1581.                  his access level from "verified nonsubscriber" to "full subscriber" for the session.  Conversely, if you 
  1582.                  have subscriber logic enabled, and a person logs on whose subscription has expired, but whose access  
  1583.                  level is greater than your specified maximum nonsubscriber level, then Bulletron will automatically 
  1584.                  lower his access level to the maximum nonsubscriber level.  Thus, you get two options with Bulletron 
  1585.                  for automatically controlling subscriber access:
  1586.               
  1587.                      1.    Leave everyone at a low access level and let Bulletron automatically raise their access level at 
  1588.                      logon time for the duration of the session, or
  1589.               
  1590.                      2.    Set verified users at a high access level and let Bulletron restrict them when their subscription 
  1591.                      runs out.
  1592.               
  1593.                  The second method provides more flexibility than the first, because you can differentiate different 
  1594.                  groups of subscribers by access level with the second method.
  1595.  
  1596.               
  1597.  
  1598.  
  1599.  
  1600.  
  1601.  
  1602.               
  1603.                  Bulletron also lets you set up subscription by a combination of cumulative connect time and 
  1604.                  expiration date.  To utilize this  feature, you leave the users at the low, "verified" access level, as in 
  1605.                  method 1, above, then specify a medium access level for Bulletron to raise them to if their account has 
  1606.                  not reached its expiration date, and a higher access level to set them to if their account has connect time 
  1607.                  credit remaining.  This lets you limit "flat rate" customers to perhaps an hour a day, while giving 
  1608.                  premium customers unlimited time per day at a certain charge per minute until their funds run out.
  1609.               
  1610.                  5.4.2.  Assigning Serial Ports
  1611.               
  1612.                  From the main system prompt ("What next?"), enter "P" to bring up the 
  1613.                  Installation/Configuration Menu, then enter "L" to assign serial ports.  You can also enter "PL" directly 
  1614.                  at the main system prompt to save time.
  1615.               
  1616.                  When you execute the "PL" command, Bulletron displays a table that shows you the current 
  1617.                  serial port assignments.  Figure 5.4.2-1 shows an example of this for a 9-line/10-user system:
  1618.               
  1619.                  You read this table as follows:  The "Line" column tells you the "task number".  In most cases, 
  1620.                  there will be one Bulletron "task" for each serial port, modem and phone line in your system, plus one 
  1621.                  extra task for you local console logons.  If you configure your system to allow users to log on via LAN 
  1622.                  (local area network) or incoming TELNET (Internet access), then you will assign some of the tasks for 
  1623.                  those purposes.  The Bulletron Control Window displays one line of status for each task.  Because of 
  1624.                  the correspondence between Bulletron tasks and installed phone lines, and the single line status display, 
  1625.                  it is intuitive to refer to Bulletron tasks in the documentation as "lines".  When a user logs onto a "line", 
  1626.                  his activity from logon to disconnection is called a "session".
  1627.               
  1628.                  The "Port" column tells which serial port is assigned to each BBS user task.  The number "1" in 
  1629.                  this column represents "COM1", the number "2" represents "COM2", and so forth.  A "-1" in the "Port" 
  1630.                  column represents "none", as in the case of a local console session (see line 10, above).  
  1631.               
  1632.                  The "Net" column tells which port is used for outgoing calls for wide area networking (Bulletnet, 
  1633.                  FIDOnet, etc.).  There should only be one "Y" value in the "Net" column.  The line in the table that 
  1634.                  contains the "Y" in the "Net" column indicates which session, which serial port, and thereby which 
  1635.                  phone line will be tied up during a network call.  You can put a "C" in the "net" column if you want to 
  1636.                  connect the public chat functions of two or more Bulletron systems together, using null modem cables, 
  1637.                  for a permanent network chat.  If the modem type for a line is "H", "A", "C" or "B", then an "F" may be 
  1638.                  placed in the "Net" column to cause the modem NOT to enter auto-answer mode.  Instead of entering 
  1639.                  auto-answer mode, the BBS program watches the line for the modem to report a RING signal, then 
  1640.                  sends "ATA" to the modem to make it answer the phone.  This feature is provided for compatibility 
  1641.                  with FIDOnet protocols, which require that the modem not answer if the BBS program stops running 
  1642.                  for some reason.
  1643.               
  1644.                  The "Modem" column tells which type of modem is connected to the serial port.  The values for 
  1645.                  the modem type are: 
  1646.               
  1647.                     H Hayes Modem, no Automatic Speed Buffering.  The modem must be capable of 
  1648.                       accepting commands with  DTR signal off;  the BBS program turns off DTR to 
  1649.                       prevent the modem from recognizing the RING signal while sending commands 
  1650.                       to place the modem into auto-answer mode.  The BBS program also adjusts the 
  1651.                       Baud Rate of the computer to modem connection to match the reported line speed 
  1652.                       when a connection is made.  The most common example of this type modem is 
  1653.                       the Hayes Smartmodem 2400.  Data compression and error correction can not be 
  1654.                       used with type "H" setting.              
  1655.               
  1656.                     A Hayes Modem with Automatic Speed Buffering.  The modem must be capable of 
  1657.                       accepting commands with the DTR signal off;  the BBS program turns off DTR to 
  1658.                       prevent the modem from recognizing the RING signal while sending commands 
  1659.                       to place the modem into auto-answer mode.  The BBS program does not adjust 
  1660.                       the Baud rate of the computer to modem connection to match the reported line 
  1661.                       speed when a connection is made.  The modem should be initialized at a Baud 
  1662.                       Rate greater than twice the highest possible line speed to allow data compression 
  1663.                       and error correction to occur.              
  1664.               
  1665.                     C US Robotics Modem, no Automatic Speed Buffering.  The BBS leaves the DTR 
  1666.                       signal turned on while sending commands to place the modem into auto-answer 
  1667.                       mode, because the modem does not accept commands if the DTR signal is off.  
  1668.  
  1669.               
  1670.  
  1671.  
  1672.  
  1673.  
  1674.  
  1675.                       The BBS program also adjusts the Baud Rate of the computer to modem 
  1676.                       connection to match the reported line speed when a connection is made.  Data 
  1677.                       compression and error correction can not be used with type "H" setting.              
  1678.               
  1679.                     B US Robotics Modem with Automatic Speed Buffering.  The BBS leaves the DTR 
  1680.                       signal turned on while sending commands to place the modem into auto-answer 
  1681.                       mode, because the modem does not accept commands if the DTR signal is off.  
  1682.                       The BBS program does not adjust the Baud rate of the computer to modem 
  1683.                       connection to match the reported line speed when a connection is made.  The 
  1684.                       modem should be initialized at a Baud Rate greater than twice the highest possible 
  1685.                       line speed to allow data compression and error correction to occur.              
  1686.               
  1687.                     D Direct Connection.  This setting is used for a port that is connected to a terminal, 
  1688.                       another computer, an X.25 pad, or a terminal server, using a null modem cable 
  1689.                       (see wiring diagram in Figure 5.1.3-1).  The BBS program initiates the logon 
  1690.                       sequence when a carriage return character is received and the carrier detect signal 
  1691.                       is turned on.  The BBS program turns off the DTR signal to break the connection 
  1692.                       and ends the session if the carrier detect signal goes off.              
  1693.               
  1694.                     E Special Direct Connection.  This setting is the same as type "D", above, but the 
  1695.                       initial carriage return is not required to initiate the logon sequence.  The logon 
  1696.                       sequence is initiated as soon as the Carrier Detect signal comes on. You may find 
  1697.                       this more convenient for connection to internet terminal servers because users are 
  1698.                       not in the habit of having to type an initial carriage return to begin logon.              
  1699.               
  1700.                     L LAN Connection.  The BBS program creates a named pipe, named 
  1701.                       "\\servername\PIPE\BULLETRON\LOGON" for the line and allows any program 
  1702.                       on the LAN to initiate logon by opening this pipe.  A modem type of "L" must be 
  1703.                       assigned to as many lines as are desired for concurrent LAN users.  Each LAN 
  1704.                       line must have a number in the "port" column which is greater than zero, and not 
  1705.                       used by any other line in the table.  Even though BULLETRON does not use a 
  1706.                       real serial port for the line, it will not initialize the line if this condition is not met.              
  1707.               
  1708.                     T TELNET Connection.  The BBS program opens a TCP/IP socket for port 23, in 
  1709.                       server mode, and listens for connection requests from the internet.  A modem type 
  1710.                       of "T" must be assigned to as many lines as are desired for concurrent internet 
  1711.                       users.  Each TELNET line must have a number in the "port" column which is 
  1712.                       greater than zero, and not used by any other line in the table.  Even though 
  1713.                       BULLETRON does not use a real serial port for the line, it will not initialize the 
  1714.                       line if this condition is not met.              
  1715.               
  1716.                     N No Modem.  The BBS program allows logon only via the local console/keyboard.  
  1717.                       The port column for a line with this setting will usually contain "-1".              
  1718.               
  1719.                  The "Acc-Lvl" column specifies the minimum access level that the BBS will require for a user to 
  1720.                  log on via that line.  Keeping with the suggested access levels described above, in section 5.4.1, our 
  1721.                  sample table has restricted lines 1 through 4 for subscribers only.  Line 5 has the phone number that we 
  1722.                  advertise for new users to call and set up accounts.  Bulletron will allow NEW users to set up accounts 
  1723.                  even if their  access level is too low to log on this line normally.  The purpose of this if to get them 
  1724.                  online, then get them to subscribe by sending them a message that they can only get on the 
  1725.                  nonsubscriber lines unless they subscribe.  If you do not want to allow new users to even be allowed to 
  1726.                  set up an account on a certain line, then set the access level of that line to the negative of the access 
  1727.                  level and new users will not be allowed on.
  1728.               
  1729.                  Your phone system may use "hunting", a phone company term meaning a group of phone 
  1730.                  numbers, where, if one number is busy, they automatically reroute calls to another number in the set 
  1731.                  and the caller only gets a busy signal when all the lines are busy.  If you do have your phone company 
  1732.                  set up a hunt group for you, then you may want to set the access level for the all the lines but the last 
  1733.                  one high enough that only subscribers can log on.  In this way, subscribers get to use all the phone 
  1734.                  lines, but nonsubscribers get a busy signal if the last line in the hunt group (which is the only one they 
  1735.                  can use) is busy.
  1736.               
  1737.                  The "Tm-Limit" column tells the maximum number of minutes that a user can be logged on for a 
  1738.                  single call for each phone line.  If this is set to zero, then the user's time access level is used to 
  1739.                  determine how long he can be online.  If this is a nonzero value and the user's time access level would 
  1740.                  allow him MORE time than this, this time limit will take precedence.  This allows you to devote a 
  1741.  
  1742.               
  1743.  
  1744.  
  1745.  
  1746.  
  1747.  
  1748.                  telephone line as an "express line" for users to pick up their mail, but use the other telephone lines for 
  1749.                  longer sessions.  The time limit does not apply to operator accounts.
  1750.               
  1751.                  The values in the "BF1" and "BF2" columns specify special billing rates for any of the phone 
  1752.                  lines.  Some systems may want to charge more for use of certain lines such as 28,800 baud lines, or 
  1753.                  lines with "800" phone numbers.  Use these two values to adjust the billing on a line by line basis.  
  1754.                  Bulletron will calculate the normal charge, either cents or minutes, when a user logs off based on the 
  1755.                  prime/nonprime rates.  It then multiples the charge by BF1 and divides by BF2.  If you wanted to 
  1756.                  double the cost for use of a certain line, then BF1 would be 2 and BF2 would be 1.  If it was a 50% 
  1757.                  surcharge, BF1 would be 3 and BF2 would be 2.  If it was a 20% DISCOUNT, BF1 would be 4 and 
  1758.                  BF2 would be 5.  Be sure that BF2 is never zero.  More details on setting up billing rates are given later 
  1759.                  in this section of the manual.
  1760.               
  1761.                  The "CB" column specifies, for each phone line, whether or not a user will be allowed to make 
  1762.                  the BBS hang up and call him back on that line.  Callback can be used for two purposes.  Companies 
  1763.                  can use callback to allow employees to reverse the charges on their calls.  It can also be used as a 
  1764.                  method of accurately recording a new user's telephone number for the purpose of eliminating prank 
  1765.                  calls.  Other BULLETRON setup parameters allow you to specify whether callback is prohibited, 
  1766.                  allowed, or used for validation on a system-wide basis.  If callback is allowed, then you can set a 
  1767.                  minimum access level that a user must have in order to use the callback feature.  If callback is used for 
  1768.                  validation then you can specify a higher access level, special flags and special interest group (SIG) 
  1769.                  sub-boards to be automatically assigned to accounts having successfully completed callback validation.  
  1770.                  For validation, you can also set a maximum level above which callback is prohibited, to prevent 
  1771.                  validated accounts from using callback validation more than once.  You can also place a limit to the 
  1772.                  number of accounts that can be validated at the same phone number to prevent a single user from 
  1773.                  setting up a large number of accounts for his own use.  The value in the "CB" column can be:
  1774.               
  1775.                     N to strictly prohibit callback on that line;              
  1776.               
  1777.                     Y to allow callback;              
  1778.               
  1779.                     L to allow callback only if the phone number that the user enters is not a long 
  1780.                       distance call; or              
  1781.               
  1782.                     M to allow callback for the purpose of validating accounts, but then disconnect and 
  1783.                       make the user call back once his telephone number has been validated.              
  1784.               
  1785.                  The value in the "PAGE" column indicates whether or not the phone line may be used to dial the 
  1786.                  SYSOP's pager.  In some cases, it may be desirable to have the system operator wear a "beeper", by 
  1787.                  which he can be paged if he is out on call and some user needs urgent attention.  Option "9" of the 
  1788.                  "PXP" menu allow you to specify a telephone number which may be dialed to ring the SYSOP's pager.  
  1789.                  If this phone number is not blank, and the Control Window option has been set to indicate that the 
  1790.                  operator is not in, then Bulletron will search the phone lines for one that is not in use and has a "Y" in 
  1791.                  the "PAGE" column.  When it finds one, it will use that line to dial the SYSOP's pager number.
  1792.               
  1793.                  To change a serial port assignment, respond to
  1794.               
  1795.                  
  1796.               
  1797.                  Enter line to change or Q to quit:
  1798.               
  1799.                  
  1800.               
  1801.                  by entering a line number.  When you are finished altering the table, enter "Q" to return to the 
  1802.                  Installation/Customization Menu.  Any time that  you change the port assignments on one or more 
  1803.                  lines, then you MUST shut BULLETRON down and restart it for the new line assignments to take 
  1804.                  effect.  This is the only time when BULLETRON must be shut down and restarted before an 
  1805.                  installation parameter can go into effect.  Usually, however, you will also be making changes to the 
  1806.                  modem control strings at the same time, so don't shut anything down until you read the next section of 
  1807.                  this manual.
  1808.               
  1809.                  5.4.3.  Modem Control Strings
  1810.               
  1811.                  From the main system prompt ("What next?"), enter "P" to bring up the 
  1812.                  Installation/Customization Menu, then enter "M" to modify modem control strings.  You can also enter 
  1813.                  "PM" directly at the main system prompt to save time.  It is best to have the BBS running with modem 
  1814.  
  1815.               
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.                  I/O disabled when you modify the modem control strings, though it is not necessary.  Bulletron makes 
  1822.                  the modifications in a buffer and writes the modifications for each line to disk when they are complete.  
  1823.                  The new settings go into effect the next time that Bulletron resets the phone line; that is, the next time 
  1824.                  that a user logs off, or you stop the line and restart it from the Control Window.  You can do the whole 
  1825.                  process remotely, accessing the Control Window to stop and start each line using the "Y" command.  
  1826.                  Making changes to the modem control strings locally, with the BBS started with "NOMODEM" helps 
  1827.                  keep YOU from getting confused.
  1828.               
  1829.                  Before discussing the specifics of entering the modem command strings, it is important that we 
  1830.                  make clear how BULLETRON expects the modem to operate.  When BULLETRON sends a command 
  1831.                  to a modem, it expects the modem to return nothing except a string of ASCII digits, as result code, and 
  1832.                  a carriage return.  This means that you must have the following settings (or their equivalents for your 
  1833.                  particular brand of modem) stored in nonvolatile RAM or DIP switches in effect at all times:
  1834.               
  1835.                     E0          Do not echo characters from the keyboard to the screen in command mode.  If the 
  1836.                       modem echoes the commands sent to it, Bulletron will attempt to interpret these 
  1837.                       as result codes and will display messages like              
  1838.               
  1839.                  
  1840.               
  1841.                  illegal modem result code < ... text ... >
  1842.               
  1843.                  
  1844.               
  1845.                            where "... text ..." is the command string.
  1846.               
  1847.                     Q0          Return result codes.  If the modem does not return a result code after every 
  1848.                       command string, then Bulletron will retry the command five times and then mark 
  1849.                       the line as down because the modem is broken.  This is a factory default for most 
  1850.                       modems.              
  1851.               
  1852.                     V0          Display result codes as numbers.  Do not have result codes returned as verbal 
  1853.                       strings.              
  1854.               
  1855.                     &C1Track the status of carrier detect signal.  Bulletron checks the state of the carrier 
  1856.                       detect signal before each character is transmitted, and before attempting to read 
  1857.                       each incoming character.  If the modem does not report loss of carrier, then 
  1858.                       Bulletron will not reset the line when a user disconnects, and the line will be 
  1859.                       "stuck".              
  1860.               
  1861.                     &D2Monitor DTR signal.  When an on-to-off transition of DTR signal occurs, the 
  1862.                       modem hangs up, returns to the command state, and disregards incoming calls 
  1863.                       until the DTR signal is turned back on. Bulletron depends on this feature to 
  1864.                       terminate calls.              
  1865.               
  1866.                  Modems that support 14,400 Baud, or error correction, or data compression, should always be set 
  1867.                  up as type "A" or type "B" with the "PL" command.  Set the initial Baud rate for these modems higher 
  1868.                  than twice the highest real Baud rate at which the modem can connect.  V.32bis modems connect at 
  1869.                  14,400 Baud maximum, so you should set the initial Baud rate for 38,400 Baud.  V.32 modems connect 
  1870.                  at 9,600 Baud maximum.  You can set the modem type to "H" or type "C" with the "PL" command and 
  1871.                  set the initial Baud rate to 9,600 Baud if your V.32 modem does not support V.42, V.42bis, or any form 
  1872.                  of MNP.  If you plan to use error correction (V.42 or MNP 1 - 4), or data compression (V.42bis or 
  1873.                  MNP 5 - 10), then you should set the modem type for "A" or "B" with the "PL" command and set the 
  1874.                  initial Baud rate for 38,400.  Some 2,400 Baud modems also support error correction and data 
  1875.                  compression.  If your 2,400 Baud modem does not support error correction or data compression, then 
  1876.                  you should set the modem type for "H" or "C" with the "PL" command and set the initial Baud rate for 
  1877.                  2,400 Baud.  If you plan to use error correction or data compression with your 2,400 Baud modem, then 
  1878.                  you should set the modem type to "A" or "B" and set the initial Baud rate to 9,600 Baud.  
  1879.               
  1880.                  The delay after connection is important if your modem supports error correction or data 
  1881.                  compression and people might call some times with modems that do not support these features. 
  1882.                  Modems that support these features negotiate features using 7-E-1.  If you do not allow enough time for 
  1883.                  feature negotiation to time out after connection, then callers with modems that do not support these 
  1884.                  features may be erroneously told to reset their software for 8-N-1.  Appendix A of this manual lists the 
  1885.                  modem setups that we have found to work for modems that we have tested with in our lab.
  1886.               
  1887.  
  1888.               
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.                  When you execute the "PM" command, Bulletron asks you which line you want to change.  You 
  1895.                  can change modem control strings for any line, even the ones that do not have modems or serial ports, 
  1896.                  such as the local console session.  You may do this when upgrading to a larger number of phone lines, 
  1897.                  as you will be using a different session for the local console than before.  After you select the line 
  1898.                  number, Bulletron prompts you with the series of questions as defined below.  The current values are 
  1899.                  shown in brackets [].  Pressing ENTER without entering a value will retain the current value.
  1900.               
  1901.                  The first parameter that you are prompted for is;
  1902.               
  1903.                  
  1904.               
  1905.                  INITIAL BAUD RATE [38400]:
  1906.               
  1907.                  
  1908.               
  1909.                  This is the Baud rate to which the serial I/O port will be set when the first commands are sent to the 
  1910.                  modem.  If you do not plan to use automatic speed buffering (essential to all forms of error correction 
  1911.                  and data compression), then set this value to the maximum speed that the modem allows - 14400 for a 
  1912.                  V.32bis modem, 9600 for a V.32 modem, 2400 for a V.22bis modem, 1200 for a V.22 modem or 300 
  1913.                  for a Bell 103 type modem.  For a null modem connection, set it to the speed of the terminal.  If you 
  1914.                  DO plan to use automatic speed buffering (as in MNP, V.42 or V.42bis operation), then you must set 
  1915.                  this value at least 2 times the maximum speed of the modem.  The upper limit imposed by Bulletron for 
  1916.                  OS/2 is 4,294,967,295 Baud, though device driver programs may refuse anything above 57,600 Baud 
  1917.                  for ports with 16450 type UARTs, or 345,600 Baud for 16550 type UARTs and intelligent multi-port 
  1918.                  cards. Keep in mind that, with non-intelligent ports, 19,200 Baud implies an interrupt to the CPU every 
  1919.                  500 microseconds.  The fastest CPU chips available today will be pretty much swamped if you get two 
  1920.                  or three of these going at once.  Intelligent multi-port cards provide a second CPU to handle the 
  1921.                  interrupts and, hence, can get much more throughput.  If you set the serial port Baud rate greater than 2 
  1922.                  times the maximum possible actual line speed, some types of modems may buffer data internally in a 
  1923.                  way that gives your BBS a "jerky" feel.
  1924.               
  1925.                  You can also enter "*" at this prompt, which will allow you to copy all the modem control strings 
  1926.                  from some other line that you have already set up.
  1927.               
  1928.                  The second modem parameter that you are prompted for is:
  1929.               
  1930.                  
  1931.               
  1932.                  ESCAPE SEQUENCE [+++]:
  1933.               
  1934.                  
  1935.               
  1936.                  These characters are sent to the modem to force it into a mode to receive commands.  You should 
  1937.                  never need to change this since this seems to be a universal standard among modem manufacturers at 
  1938.                  this time.
  1939.               
  1940.                  
  1941.               
  1942.                  DELAY BEFORE AND AFTER ESCAPE SEQ IN TICKS
  1943.               
  1944.                  (18 TICKS = 1 SECOND) [27]:
  1945.               
  1946.                  
  1947.               
  1948.                  For the escape sequence to be recognized, the modem needs a period of "silence" before and after 
  1949.                  the sequence.  "Silence" means that no other characters are sent for a period before or after the escape 
  1950.                  sequence.  The time period is usually about 1 to 1.5 seconds.  The computer measures time in TICKS, 
  1951.                  where 1 tick is 1/18th of a second.  A 1.5 second silence period would, therefore, be a delay of 27 ticks.
  1952.               
  1953.                  
  1954.               
  1955.                  RESET MODEM [ATZ]:
  1956.               
  1957.                  
  1958.               
  1959.                  This command resets the modem back to its default state when preparing for the next call.  
  1960.  
  1961.               
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.                  NEVER use "AT&F" here, or in any other Bulletron modem control strings, as this will usually cause 
  1968.                  the modem to echo commands, return verbal result strings, ignore the DTR signal, and report carrier 
  1969.                  detect as always true.
  1970.               
  1971.                  
  1972.               
  1973.                  BEGIN ANSWER SEQUENCE [ATH0S0=1]:
  1974.               
  1975.                  
  1976.               
  1977.                  This command tells the modem to begin answering the telephone on the next call.  This 
  1978.                  command is actually two different modem commands strung together.  These commands are:
  1979.               
  1980.                     H0          Hang up.  You can't receive a call if the phone is off the hook.              
  1981.               
  1982.                     S0=1The "S0" register specifies the number of times  to let the phone ring before 
  1983.                       answering the call.              
  1984.               
  1985.                  If you are having problems with the modem not resetting properly or not detecting loss of carrier, then 
  1986.                  take the modem off-line, connect it to a terminal or a PC running a terminal emulator, enter
  1987.               
  1988.                  
  1989.               
  1990.                  AT &F &W
  1991.               
  1992.                  
  1993.               
  1994.                  to reset the modem's nonvolatile RAM to factory default settings, and enter
  1995.               
  1996.                  
  1997.               
  1998.                  AT E0 M0 V0 &C1 &D2 &W
  1999.               
  2000.                  
  2001.               
  2002.                  The next parameter prompted for is:
  2003.               
  2004.                  
  2005.               
  2006.                  OFF HOOK FOR LOCAL SESSION [ATH1]:
  2007.               
  2008.                  
  2009.               
  2010.                  When the system operator enters CTRL/K or ESC to log on to the system locally, the BBS "takes the 
  2011.                  phone off the hook" so that an outside caller gets a busy signal rather than the phone simply ringing.  If 
  2012.                  the phone simply rang, the outside caller might think the system had crashed and not try calling again.  
  2013.                  If the outside caller gets a busy signal, he knows to try again later since the system is up but in use.  If 
  2014.                  your modem speaker sounds line the phone is off the hook, then this means that your modem is 
  2015.                  defective (as in the Aceex 2400s, which were all that way right from the factory), and not responding to 
  2016.                  the "M0" command properly.
  2017.               
  2018.                  The next parameter prompted for is:
  2019.               
  2020.                  
  2021.               
  2022.                  DO NOT ANSWER PHONE [ATS0=0]:
  2023.               
  2024.                  
  2025.               
  2026.                  When you shut the BBS down, this command is sent to the modem so that the modem will not answer 
  2027.                  the phone while you are running other programs on your computer.  This is the command that the BBS 
  2028.                  issues to the modem when you don't want to leave the phone off-hook.
  2029.               
  2030.                  The next parameter prompted for is:
  2031.               
  2032.                  
  2033.  
  2034.               
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.               
  2041.                  DELAY AFTER EACH COMMAND IN TICKS
  2042.               
  2043.                  (18 TICKS = 1 SECOND) [18]:
  2044.               
  2045.                  
  2046.               
  2047.                  It may take some time for your modem to process a command, particularly the "reset" command.  This 
  2048.                  provides a time delay after each command to allow your modem to process it. Normally about 1/2 
  2049.                  second should be sufficient.  Since there are 18 ticks in 1 second, 18 ticks would be the 1 second, which 
  2050.                  should be more enough time.
  2051.               
  2052.                  The next parameter prompted for is:
  2053.               
  2054.                  
  2055.               
  2056.                  DELAY AFTER CONNECTION IN TICKS [126]:
  2057.               
  2058.                  
  2059.               
  2060.                  After the modem returns a code to Bulletron indicating that it has connected at a particular speed, 
  2061.                  Bulletron will wait this number of ticks before proceeding.  The purpose of this is to allow some time 
  2062.                  for the line to settle or for error correcting modems to establish a reliable connection. Particularly with 
  2063.                  error correcting modems, if you set this delay too short, then protocol negotiations, which are always 
  2064.                  exchanged at 7-E-1, will be interpreted by Bulletron as user keystrokes, resulting in faulty detection of 
  2065.                  8-N-1 communications parameters.  If your users complain that Bulletron tells them to set their modem 
  2066.                  for 8-N-1, but it already is set for that, then make this delay longer and the problem will go away.
  2067.               
  2068.                  The next parameter prompted for is:
  2069.               
  2070.                  
  2071.               
  2072.                  ORIGINATE DIALING PREFIX [ATM1DT]:
  2073.               
  2074.                  
  2075.               
  2076.                  This is the command that is sent before the phone number when the system dials out to initiate network 
  2077.                  transfer.  The network phone number will be appended to this command to cause the modem to dial the 
  2078.                  number.  Including the "M1" command in the string lets you listen to the call when you manually dial 
  2079.                  so you can tell quickly if the number you are dialing is busy, out of service, just ringing, etc.  You will 
  2080.                  want to change "DT" to "DP" if the phone line you use for  dialing does not support touch tome.
  2081.               
  2082.                  Following this, you are allowed to specify up to 20 modem result codes that the modem can 
  2083.                  return to indicate that a call has arrived.
  2084.               
  2085.                  
  2086.               
  2087.                  RETURN CODE (1 OF 20) [1]
  2088.               
  2089.                  BAUD RATE (1 OF  20) [300]
  2090.               
  2091.                  RETURN CODE (2 OF 20) [5]:
  2092.               
  2093.                  BAUD RATE (2 OF 20) [1200]:
  2094.               
  2095.                  .
  2096.               
  2097.                  .
  2098.               
  2099.                  .
  2100.               
  2101.                  RETURN CODE (20 OF 20) [1]
  2102.               
  2103.                  BAUD RATE (20 OF 20) [300]
  2104.               
  2105.                  
  2106.  
  2107.               
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.               
  2114.                  When the modem receives a call, it returns a code which indicates what Baud rate the caller is 
  2115.                  connected at.  Usually there will be at least five return codes:  1 indicates 300 Baud, 5 indicates 1200 
  2116.                  Baud, 10 indicates 2400 Baud, 12 indicates 9600 Baud and 14 indicates 19,200 Baud.  See the 
  2117.                  Appendix A for this manual for some details and consult the user manual that came with your modem.  
  2118.                  Bulletron allows up to twenty return codes to be specified.  You must tell Bulletron what the return 
  2119.                  code will be and what Baud rate this will correspond to for each modem result code that you want 
  2120.                  Bulletron to recognize.  If the modem type for a particular line is set to "A" or "B", then the Baud rates 
  2121.                  are not used, except to calculate the estimated time to download a file, but all of the result codes that the 
  2122.                  modem can generate to indicate connection must be present.
  2123.               
  2124.                  If you enter CTRL/K or ESC at any point while answering these prompts, you will be returned to 
  2125.                  the main menu and your answers will NOT be saved.  So if you think you made a mistake and want to 
  2126.                  start over without altering the original values, just press CTRL/K to abort and return to the main system 
  2127.                  prompt.
  2128.               
  2129.                  When the BBS is sending out the commands to the modem, they will display over the line 
  2130.                  information in the Control Window.  You can also press one of your F-keys to view the window for 
  2131.                  that line.  This will show you, in detail every command sent to the modem and every result code 
  2132.                  returned by the modem.
  2133.               
  2134.                  The result codes should usually be 0 (zero) to indicate that the modem processed the command 
  2135.                  correctly.  Exceptions to this are the "+++" string, which does not return a result code, and dial-out 
  2136.                  commands, which do not return a result code until the modem connects. If Bulletron is sending the 
  2137.                  begin answer sequence and it does not get a 0, it will try to resend the commands.  This could be due to 
  2138.                  a slight timing problem, in which case the resend should result in a 0 return code, or it could be that you 
  2139.                  have an invalid command in the sequence.  If you have an invalid command, then you may need to shut 
  2140.                  the BBS down and log on from a local console session to change modem commands.  This can be done 
  2141.                  by starting the BBS program with "NOMODEM" on the OS/2 command line.
  2142.               
  2143.                  5.4.4.  Setting up Sub-Boards
  2144.               
  2145.                  From the main system prompt ("What next?"), enter "P" to bring up the 
  2146.                  Installation/Customization Menu, then enter "B" to modify sub-board definitions.  You can also enter 
  2147.                  "PB" directly at the main system prompt to save time.  It is best to have the BBS running with modem 
  2148.                  I/O disabled when you modify the sub-board definitions, though it is not necessary.  Be aware, 
  2149.                  however, that, if there are users logged on to the system when you change the sub-board definitions, 
  2150.                  they may accidentally receive access to ALL sub-boards, including special interest groups for the 
  2151.                  remainder of their current call!
  2152.               
  2153.                  The maximum number of sub-boards that the system can handle is 999.  The sub-boards are 
  2154.                  sorted by sequence number so that you can determine the order in which boards will appear to the user.  
  2155.                  Only the sub-boards that the user can access will be displayed to him.
  2156.               
  2157.                  Figure 5.4.4-1 shows a typical example of a Bulletron sub-board table:
  2158.               
  2159.               
  2160.  
  2161.  
  2162.  
  2163.  
  2164.  
  2165.                  At the post-menu prompt, enter "A" to create a new board, "C" to change the information about 
  2166.                  an existing board, "D" to delete a board, or "Q" to save your changes and return to the Installation 
  2167.                  Menu.  If you enter "A" or "C", then you are prompted for the following information:  
  2168.               
  2169.                  
  2170.               
  2171.                  Board abbrev:
  2172.               
  2173.                  
  2174.               
  2175.                  Enter a 3 character abbreviation for the new sub-board.  The abbreviation is shown under ABR in 
  2176.                  the table.
  2177.               
  2178.                  
  2179.               
  2180.                  Board name []:
  2181.               
  2182.                  
  2183.               
  2184.                  Enter the name of the sub-board, twenty (63) characters in upper/lower case.  You do not need to 
  2185.                  add the word "board" since that word will be added in the prompt.  If this is a "change" instead of an 
  2186.                  "add", then the current sub-board name appears in the brackets ([]).  The sub-board name appears in the 
  2187.                  table underneath the row of N's (for Name).
  2188.               
  2189.                  
  2190.               
  2191.                  Is this board a SIG (Y/N) []:
  2192.               
  2193.                  
  2194.               
  2195.                  You may want to limit the access of a sub-board to only specific users or users in a Special 
  2196.                  Interest Group (SIG).  If a sub-board is marked as a SIG, then you will have to put the 3-letter 
  2197.                  abbreviation of the sub-board into the user's SIG list for any user to be able to access this sub-board.  If 
  2198.                  you want this sub-board to be a SIG, then enter "Y" to the question, otherwise enter "N".  There may be 
  2199.                  times when the same users get the same set of SIGs.  If the sub-board abbreviations begin with the same 
  2200.                  characters, then wild cards could be used to give a user access to all of them at once.  For example, 
  2201.                  putting E?? into a user's SIG list would give that user access to all sub-boards beginning with "E".  If 
  2202.                  the SIGs do not begin with the same character, you can form "groups" of SIGs.  When you enter "Y" to 
  2203.                  indicate that a sub-board is a SIG, Bulletron prompts for the group.  The group is any letter A to Z and 
  2204.                  0 to 9.  In the user's SIG-list, enter "**n" where "n" is the group (such as "**S") and the user will have 
  2205.                  access to all the SIGs with that group letter (group "S" in the example).
  2206.               
  2207.                  Note that Bulletron checks a user's access level before checking the SIG access.  If a user has 
  2208.                  access to a SIG sub-board because the sub-board abbreviation is in his SIGlist or group, but the user has 
  2209.                  an access level lower than that of the sub-board, as in the case of someone who let his subscription run 
  2210.                  out, then he will NOT be able to access the SIG.  If you want users to access SIGs based totally on their 
  2211.                  SIGlist, be sure the access level for the SIG sub-board is zero.
  2212.               
  2213.                  
  2214.               
  2215.                  Questionnaire Type []:
  2216.               
  2217.                  
  2218.               
  2219.                  Each sub-board may have a locator or match questionnaire associated with it.  Enter one of the 
  2220.                  following:
  2221.               
  2222.                     A means there is a multiple choice questionnaire matching accounts or users such as 
  2223.                       would be used in a dating service, a job placement service, or a directory of 
  2224.                       consultants.  See section 5.4.12.1 for details on preparing multiple choice 
  2225.                       questionnaires.              
  2226.               
  2227.                     M means there is a multiple choice questionnaire matching messages such as would 
  2228.                       be used in a real estate locating service, a restaurant guide, or a personal ads 
  2229.                       column.  See section 5.4.12.1 for details on preparing multiple choice 
  2230.                       questionnaires.              
  2231.  
  2232.               
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.               
  2239.                     T means there is a match questionnaire for accounts but the questionnaire is a TEXT 
  2240.                       or ESSAY question-type.  Matchmaking is done by text string searches, rather 
  2241.                       than by matching specific answers. The user fills in the blanks and other users can 
  2242.                       read his responses with the "MA" command on that board.  See section 5.4.12.2 
  2243.                       for details on preparing essay questionnaires.              
  2244.               
  2245.                     C means there is a COMBINED multiple choice/essay questionnaire matching users 
  2246.                       or accounts.  See section 5.4.12.3 for details on preparing combined 
  2247.                       questionnaires.              
  2248.               
  2249.                     - (DASH) means take the questionnaire from the next accessible (default) 
  2250.                       sub-board.              
  2251.               
  2252.                     * means that sub-board will take the questionnaire from another board.  This is 
  2253.                       called REDIRECTION.  You will be prompted for the sequence number of the 
  2254.                       sub-board from which it will take the questionnaire.  Be sure it is NOT another 
  2255.                       redirected sub-board.  The sub-board it is redirected to must be an "A", "M", "C", 
  2256.                       or "T" type sub-board.              
  2257.               
  2258.                     O means the sub-board is an order entry sub-board and the questionnaire is really an 
  2259.                       order form to allow users to purchase merchandise or pay their subscription fees.  
  2260.                       See section 5.4.12.4 for details on preparing order entry questionnaires.              
  2261.               
  2262.                     F means the sub-board is a "form message" sub-board. Messages posted on a "form 
  2263.                       message" sub-board follow an essay questionnaire format similar to order entry 
  2264.                       sub-boards, but the completed forms are posted as public messages rather than 
  2265.                       sent to the system operator in private mail.  You can use this feature to force users 
  2266.                       to answer specific questions when requesting tech support, then keep the 
  2267.                       responses in public messages that can be quickly searched using the "SS" and 
  2268.                       "RS" commands.  See section 5.4.12.4 for details on preparing order entry 
  2269.                       questionnaires.              
  2270.               
  2271.                  
  2272.               
  2273.                  Special Feature []:
  2274.               
  2275.                  
  2276.               
  2277.                  This prompt allows you to designate a special role that the sub-board plays in wide area 
  2278.                  networking (Bulletnet, FIDOnet, Internet, etc.).  The possible options are:
  2279.               
  2280.                     S means this sub-board is the SOURCE for private messages being sent over 
  2281.                       Bulletnet.  There can be only one network source sub-board in a system at a time.  
  2282.                       It is used as a holding area for outgoing messages.  If you deny access to this 
  2283.                       sub-board to any user, then they will not be able to originate Bulletnet mail 
  2284.                       messages.              
  2285.               
  2286.                     D means this sub-board is the DESTINATION for public messages received over 
  2287.                       Bulletnet or FIDOnet.  This sub-board acts as a "dead letter box" for private mail 
  2288.                       that arrives for accounts that no longer exist, or public echo messages for SIGs 
  2289.                       that no longer exist.  You may want to read these messages periodically and 
  2290.                       manually move the ones of interest to other sub-boards, deleting the rest.  You 
  2291.                       will probably want to set the access level for this sub-board high enough so that 
  2292.                       only you can read the messages, as some may have content which your users may 
  2293.                       find objectionable.              
  2294.               
  2295.                     E means the sub-board is an Bulletnet or FIDOnet echo conference, or USEnet 
  2296.                       newsgroup.  These are sub-boards on which messages can be posted at the same 
  2297.                       time in many different cities.  See the section about Network Echo Conferences 
  2298.                       for more details.              
  2299.               
  2300.                     ? means that the sub-board is a header only for the multilevel sub-board menu 
  2301.                       selection function.  See "MENUB" under "Customizing Menus, Help Messages 
  2302.                       and Prompts" for more details.              
  2303.               
  2304.  
  2305.               
  2306.  
  2307.  
  2308.  
  2309.  
  2310.  
  2311.                     N means this sub-board is not used in wide area networking, or as a board menu 
  2312.                       header              
  2313.               
  2314.                  
  2315.               
  2316.                  Hold messages until release by sysop (Y/N) []:
  2317.               
  2318.                  
  2319.               
  2320.                  The system operator may desire to review all messages for inappropriate information before 
  2321.                  allowing other users to view them.  If you set this to "Y", then any new messages or messages with new 
  2322.                  comments added will be marked as being "HELD" until the SYSOP can read and approve them.  
  2323.                  Assistant SYSOPs, but not SIG-ops, can also release a message.  An "H" will appear next to the 
  2324.                  summary and "**HOLD**" will appear in the heading of a held message when a SYSOP reads it.  At 
  2325.                  the end of the message, a reminder "Reminder:  this message is being HELD" will display to SYSOPs.  
  2326.                  The SYSOP then enters "H" at the end of the message to change the "HOLD" status.  If a message is 
  2327.                  being held, then "N" or [enter] will remove the hold and update the message date/time; "Y" will retain 
  2328.                  the hold or hold a nonheld message.  "D" will delete the message if the SYSOP thinks it is 
  2329.                  objectionable.  Messages that are "HELD" are not visible to users, and are sent out over the network.
  2330.               
  2331.                  As a side note, if a user has flag "H" in his account record, then any new messages or messages 
  2332.                  that he adds comments to, regardless of the sub-board hold flag, will be marked as held.  So, if you 
  2333.                  have a problem user, you can hold only messages which he affects in case he is putting profanity in a 
  2334.                  message.
  2335.               
  2336.                  
  2337.               
  2338.                  Is this board Read Only (Y/N/P/Q/S/U) []:
  2339.               
  2340.                  
  2341.               
  2342.                  Some sub-boards may be read-only sub-boards.  The system operator can always enter a message 
  2343.                  on this sub-board, but users cannot enter messages or comment on messages entered here.  An example 
  2344.                  of this type of sub-board might be your "utilities" sub-board which holds all the menus, prompts, help 
  2345.                  messages and questionnaires.  You may want the users to be able to read that sub-board to download 
  2346.                  the help files, but you would not want them posting messages there.  Enter "Y" if this is a read-only 
  2347.                  sub-board.  A sub-board can also be "Partial Read Only"; that is, a user can enter messages on the 
  2348.                  sub-board but no comments can be added to the message.  The settings that you can use for this 
  2349.                  parameter are:
  2350.               
  2351.                      N        Anyone can post messages and add comments              
  2352.               
  2353.                      Y        Only system operators and assistant system operators can post messages and 
  2354.                      add comments.  If a message created on this sub-board is transferred to a 
  2355.                      different sub-board, it becomes commentable.              
  2356.               
  2357.                      P        Anyone can post messages, but only system operators and assistant system 
  2358.                      operators can add comments.  If a message created on this sub-board is 
  2359.                      transferred to a different sub-board, it remains non-commentable.              
  2360.               
  2361.                      Q        Anyone can post messages, but only system operators and assistant system 
  2362.                      operators can add comments.  If a message created on this sub-board is 
  2363.                      transferred to a different sub-board, it remains non-commentable.  The 
  2364.                      message is deleted during the daily automatic purge if the original author 
  2365.                      does not have subscriber status.              
  2366.               
  2367.                      S        The only account that can post new messages is "SIGbbb", where "bbb" is the 
  2368.                      three character sub-board abbreviation.  Anyone can add comments.              
  2369.               
  2370.                      U        Anyone can post messages, but only system operators and assistant system 
  2371.                      operators can add comments.  If a message created on this sub-board is 
  2372.                      transferred to a different sub-board, it becomes commentable.              
  2373.               
  2374.                  
  2375.               
  2376.                  Anonymous messages only (Y/N) []:
  2377.  
  2378.               
  2379.  
  2380.  
  2381.  
  2382.  
  2383.  
  2384.               
  2385.                  
  2386.               
  2387.                  Some newspapers have a personals or classified section where advertisers can post text 
  2388.                  anonymously.  The newspaper just shows a box number, people respond to the box number, and the 
  2389.                  newspaper forwards the response to the advertiser.  This prompt allows a sub-board to be set up with 
  2390.                  the same facility.  The messages are always anonymous, but the system knows who posted the message.  
  2391.                  Other users can "forward" a message to the originator whereby the system will send the message to the 
  2392.                  originator but not reveal the account of the originator or responder.  Answer this prompt with "Y" if you 
  2393.                  want all the messages on this sub-board to be anonymous.
  2394.               
  2395.                  Note:  users can still enter anonymous messages using the "E  ANON" or "EY" commands even 
  2396.                  if you answer "N" to this question.  The system operator can always see who posted a message even 
  2397.                  though it is anonymous to the other users.  You can also enter "C" which is like "Y", except comments 
  2398.                  will be allowed on the messages.
  2399.               
  2400.                  
  2401.               
  2402.                  Summary type (M/L/B/C/X/N) []:
  2403.               
  2404.                  
  2405.               
  2406.                  When a user selects a sub-board, the system automatically generates an initial command to show 
  2407.                  him the messages on that sub-board.  This command is either an "R" (read) or, by default, an "S" 
  2408.                  (summary) command.  The subcommand can be one of the following:
  2409.               
  2410.                     M Summary of My personal mail.  You will generally only use this on one sub-board 
  2411.                       - your personal mail sub-board.              
  2412.               
  2413.                     L Summary of new messages since my Last logon.  Use this on popular sub-boards, 
  2414.                       where users post and update messages frequently.              
  2415.               
  2416.                     B Summary of this sub-board's messages Backward by date.  Use this on order entry 
  2417.                       sub-boards and tech support sections where the messages might constitute a 
  2418.                       catalog of goods and services or product upgrade notices.  The messages seldom 
  2419.                       change, but you want people to constantly be aware of their presence.              
  2420.               
  2421.                     C Summary Complete new messages for the entire BBS. You might use this on the 
  2422.                       first sub-board that a user sees when he logs on to your system.              
  2423.               
  2424.                     X similar to "L" except messages will not show with the "RC" command unless the 
  2425.                       user has selected the specific sub-board.  In other words, if you put "C" for the 
  2426.                       first sub-board that the user sees, you can put "X" on some of the busiest 
  2427.                       sub-boards so he doesn't get "War and Peace" every time he logs on.              
  2428.               
  2429.                     N for no summary.              
  2430.               
  2431.                  
  2432.               
  2433.                  Minimum access level []:
  2434.               
  2435.                  
  2436.               
  2437.                  Each user has an "feature access level" which determines which sub-boards he is able to see.  For 
  2438.                  a user to even be aware that a certain sub-board exists, the user's feature access level must be at least as 
  2439.                  high as the sub-board's access level.  The minimum access level, being prompted for here, is the lowest 
  2440.                  level which a user can have and still be able to read the messages on the sub-board.  This is a number 
  2441.                  from 0 to 32767.  Sub-boards which only the system operator can access should be set very high, such 
  2442.                  as 30000.  The combination of feature access level and SIG (special interest group) should be used 
  2443.                  carefully to determine which sub-boards users can read.  If a sub-board may be accessed by users who 
  2444.                  may each have different access levels (such as subscribers and nonsubscribers), then make the 
  2445.                  sub-board a SIG.  If the sub-board will be accessed by users with the same access level, then control 
  2446.                  read access by adjusting the minimum access level of the board.
  2447.               
  2448.                  
  2449.               
  2450.  
  2451.               
  2452.  
  2453.  
  2454.  
  2455.  
  2456.  
  2457.                  Days to Autopurge Messages or 0 No purge:
  2458.               
  2459.                  
  2460.               
  2461.                  Bulletron will automatically purge messages which have not had any activity for the time period 
  2462.                  specified here in days.  Some messages, such as read-only stories or helpfiles, will never have 
  2463.                  comments added, but should not be deleted.  On those sub-boards where you do NOT want the system 
  2464.                  to purge messages, enter 0 for this prompt.  The maximum purge days is  255.
  2465.               
  2466.                  
  2467.               
  2468.                  Sequence number []:
  2469.               
  2470.                  
  2471.               
  2472.                  This sequence number determines the order in which the sub-boards are shown to the user.  You 
  2473.                  should increment the sequence numbers by 5 or 10 so that you can insert other sub-boards later.  The 
  2474.                  sequence number can be any number between 1 and 32000.  NOTE:  if you change the sequence of any 
  2475.                  boards, do it when no other users are online.  This includes inserting new boards among previously 
  2476.                  existing boards.
  2477.               
  2478.                  
  2479.               
  2480.                  Access Level for E M W, D, U and X Commands
  2481.               
  2482.                  
  2483.               
  2484.                  Bulletron allows you to have a different access level for the Enter, Match, Who, Download, 
  2485.                  Upload and FAXback commands on each sub-board.  You will be prompted for each access level here.  
  2486.                  If a user's feature access level is less than the download access level specified here but greater than the 
  2487.                  default access level for the upload/download command as specified in the system parameters, then the 
  2488.                  user can list the directory of files for that sub-board but cannot download them.  Assume that the access 
  2489.                  level on a particular directory is 10, and the user's feature access level is 20, but the "D" access level on 
  2490.                  this board is 30.  The user will be able to use an "F" command to list the files in the directory since his 
  2491.                  access level is higher than the directory access level, but he will not actually be able to download the 
  2492.                  any files since his access level is less than the "D" access level on the sub-board.  He may still be able 
  2493.                  to download files on other sub-boards, just not this sub-board.  This provides a way to letting the user 
  2494.                  know what he could have if his access level was higher.  Bulletron also lets you assign access levels to 
  2495.                  directories and even individual files (a sub-board can have up to 35 file directories and a directory can 
  2496.                  have an infinite number of files).  Beware, if you try to use this feature, that, if you allow 
  2497.                  nonsubscribers to have download access anywhere in the system, and a nonsubscriber knows the exact 
  2498.                  file name of a file that you have locked out in this manner, the system will still let him download it if he 
  2499.                  goes to a different sub-board, where he does have download access.
  2500.               
  2501.                  The Enter Command Access Level that you set for your "personal mail" sub-board controls 
  2502.                  whether or not people can enter personal mail regardless of their current sub-board selection.  For 
  2503.                  example, suppose that a user with a feature access level of 10 selects a sub-board which has an Enter 
  2504.                  Command Access Level of 100, but the Enter Command Access level of the "personal mail" sub-board 
  2505.                  is 10.   That user would be able to initiate personal mail on the high access level sub-board, but not post 
  2506.                  public messages.  
  2507.               
  2508.                  After prompting with the above questions, Bulletron will again show you the new sub-board table 
  2509.                  including your latest addition or change.
  2510.               
  2511.                  If you wanted to change an entry, enter "C" to signify a change.  You will then be asked for the 
  2512.                  abbreviation of the sub-board that you want to change.  You are allowed to change all the information 
  2513.                  except the abbreviation itself.  If you want to change the abbreviation, you must delete the sub-board 
  2514.                  and then add it again.  When changing a sub-board, the current values for each of the prompts will be 
  2515.                  shown in brackets ([]).  Pressing ENTER without entering any data causes the old value to be retained.  
  2516.               
  2517.                  To delete a sub-board, enter "D".  You will then be asked for the abbreviation of the sub-board 
  2518.                  that you want to delete.  You cannot delete a sub-board if there are any messages on the sub-board.  In 
  2519.                  that case, you should select that sub-board, read the messages forward and delete each one, then try to 
  2520.                  delete the sub-board again.  If the sub-board that you want to delete has a large number of messages, 
  2521.                  then you will find if faster to shut down the BBS and use the BBUTIL2 program to delete all the 
  2522.                  messages on the sub-board.
  2523.  
  2524.               
  2525.  
  2526.  
  2527.  
  2528.  
  2529.  
  2530.               
  2531.                  When you are finished adding, deleting, and changing all the sub-boards, enter "Q" to return to 
  2532.                  the Installation Menu.  You can come back to this menu and change the sub-boards at any time.  
  2533.                  Adding a new sub-board or deleting an unused sub-board is a quick and simple process which will be 
  2534.                  done frequently as the needs and interests of the users change.
  2535.               
  2536.                  5.4.5.  Basic System Parameters
  2537.               
  2538.                  One of the first things you, as a new SYSOP, will want to change is the basic system parameters.  
  2539.                  From the main system prompt ("What next?"), enter "P" to bring up the Installation/Customization 
  2540.                  Menu, then enter "P" to modify basic system parameters.  You can also enter "PP" directly at the main 
  2541.                  system prompt to save time.  Figure 5.4.5-1 shows an example of the System Parameters Menu:
  2542.               
  2543.                  The information in brackets [] is the current value of each field.  The information in parenthesis 
  2544.                  are values which are acceptable.  To change any parameter, enter the letter or number corresponding to 
  2545.                  the parameter that you want to modify.  This is what each of the parameters does:  
  2546.               
  2547.                  
  2548.               
  2549.                  A - Sign on message
  2550.               
  2551.                  
  2552.               
  2553.                  When a user first connects his modem to your system, the first lines that he sees will be 
  2554.                  something like this:  
  2555.               
  2556.                  Bulletron#1 619/346-1608   BULLETRON#1  Rel 999
  2557.               
  2558.                  This text will print on the second line during logon The phrase "Bulletron#1 619/346-1608" is called 
  2559.                  the Site ID and cannot be changed.  "Bulletron#1" is the node, and "Rel 999" is the release of the 
  2560.                  program that is running.  The second line, the one beginning with "This text will print...", is called the 
  2561.                  Sign-on Message.  Use it to display your BBS name or to tell your users something such as "New BBS 
  2562.                  is running so answer NEW to setup an account".  This line can also be blank in case you do not wish to 
  2563.                  use this feature.  If you have a message which is longer than one line which you need to tell your users, 
  2564.                  you can also setup a "LOGO" message on your "utilities" sub-board (see "Customizing Menus and 
  2565.                  Prompts").  After the sign on message is displayed and before the system prompts the user for his 
  2566.                  account code, the system will display the "LOGO" message.
  2567.               
  2568.                  
  2569.               
  2570.                  B - Printer On
  2571.               
  2572.                  
  2573.               
  2574.                  Is there a printer attached and turned on?  Diagnostic messages, log messages, CTRL/N printing 
  2575.                  will come out on the printer if this is set to "Y".  Valid values are "Y", "N" or "X".  If you enter "N", the 
  2576.                  log will go to a disk file named BBSLOGmm.DAT ("mm" is the current month).  If the log does go to 
  2577.                  disk, be sure check and delete the log files periodically so your disk drive doesn't get full.  You can 
  2578.                  delete the file with the OS/2 "DEL" command and the system will start a new file the next time the 
  2579.                  program begins.  If you enter "X", for this option, then neither a printer log nor a disk log will be 
  2580.                  maintained.  This is not recommended since you would not know about any system errors if they 
  2581.                  occurred.  If you enter CTRL/N to get a printer log of your session but you have the log going to a disk 
  2582.                  file, then the text from the screen will go to the disk log file.  This can be useful if you want to capture a 
  2583.                  session, list of users, list of messages, etc. to include in a document with your word processor later.
  2584.               
  2585.                  
  2586.               
  2587.                  C - Printer log
  2588.               
  2589.                  
  2590.               
  2591.                  This parameter determines how much information will be displayed on the printer or log file.  
  2592.                  Valid values are 0 through 3:
  2593.               
  2594.                     0 No log of users should be printed, only error messages and diagnostics will be 
  2595.                       written.              
  2596.  
  2597.               
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.               
  2604.                     1 Print the date and time when a user logs on or off (Normal Setting).              
  2605.               
  2606.                     2 Record what command the user is using also.              
  2607.               
  2608.                     3 Record everything that every user types in the system log/              
  2609.               
  2610.                  It is a good practice to have this set to 1 when you first start your BBS and change it to 0 when you feel 
  2611.                  comfortable with operating the system.  If you are having strange problems or a user is entering 
  2612.                  something which is causing the system to not function properly, set this option to 2 so that you can 
  2613.                  trace what command is causing the difficulty.  If you are running a subscriber system, then you can use 
  2614.                  option 1 to maintain an audit trail of time/money in users accounts.  Option 3 is something that you can 
  2615.                  use to help diagnose a specific problem, but you will quickly find if you use it that the system log will 
  2616.                  fill your entire disk before long.
  2617.               
  2618.                  
  2619.               
  2620.                  D - # of carbon copies
  2621.               
  2622.                  
  2623.               
  2624.                  After a private message is entered, Bulletron will allow the system operator to send the same 
  2625.                  message to another account.  This is called a "carbon copy".  Sometimes only the system operator will 
  2626.                  have this feature since some users could fill up the disk by sending the same message to many users.  
  2627.                  Bulletron allows the system operator to determine whether or not the users can have this feature, and if 
  2628.                  so, how many copies that they can make.  If the number of carbon copies is zero, then the user cannot 
  2629.                  use this feature and it will not display.  If the SYSOP sets this to a number from 1 to 254, the user can 
  2630.                  make up to that many carbon copy messages.  The SYSOP will always have this feature even if the 
  2631.                  number is set to zero.  A carbon copy limit of 25 usually works well.
  2632.               
  2633.                  
  2634.               
  2635.                  E - Visitor logic
  2636.               
  2637.                  
  2638.               
  2639.                  Some systems may get a lot of onetime callers -- users who log on, read the public messages, then 
  2640.                  never call back.  They waste system time and disk space by setting up an account which will never be 
  2641.                  accessed again.  If you have this problem, you can activate the "Visitor Logic".  Valid values are "Y" or 
  2642.                  "N".  If set to "Y", the system will ask a new user if "they want to set up a new account or just look 
  2643.                  around".  If they just want to look around, it will assign them account code "VISITOR", and give them 
  2644.                  read-only access on those sub-boards whose access level is less than or equal to the access level that 
  2645.                  you have set account "VISITOR".  Bulletron treats account "VISITOR" like any other account, so you 
  2646.                  must assign its access level depending on what features and boards that you want it to use.  The "N" 
  2647.                  command is blocked for the "VISITOR" account and multiple "VISITOR" accounts can be logged on 
  2648.                  simultaneously.
  2649.               
  2650.                  
  2651.               
  2652.                  F - Backup level
  2653.               
  2654.                  
  2655.               
  2656.                  All of the data files in the BBS database (BB*.DAT) should be backed up to floppy disks or tape 
  2657.                  at least once per week.  In addition, Bulletron can create additional files to assist in the situation where 
  2658.                  the files are destroyed and need to be recreated using the last backup plus any changes made since the 
  2659.                  last backup.  See Section 6.12.1 (BBUTIL2 program) to see how this procedure is accomplished.  The 
  2660.                  backup level parameter determines if or how any additional data is saved.  Valid numbers are 0 thru 4:
  2661.               
  2662.                     0 Do not save any record of changes made to the system.  This will allows the 
  2663.                       fastest operation but provides no way to recover any information added since your 
  2664.                       last physical backup.  (Normal Setting).              
  2665.               
  2666.                     1 Copy any DELETED messages or accounts (regardless of whether they were 
  2667.                       deleted by the system, sysop, or user) to a file named "XXyymmdd.BAK".  A new 
  2668.                       file would be created every day.  Since the same file is opened and closed with 
  2669.  
  2670.               
  2671.  
  2672.  
  2673.  
  2674.  
  2675.  
  2676.                       each addition, there is a chance that this file could be destroyed in a system crash 
  2677.                       also, but it does provide some additional protection while slowing the system 
  2678.                       down the least.  It also gives you a way to recover messages or accounts that were 
  2679.                       deleted accidentally.              
  2680.               
  2681.                     2 Copy any ADDED, CHANGED, or DELETED messages or accounts to a file 
  2682.                       named "XXyymmdd.BAK".  This provides additional protection, but causes more 
  2683.                       overhead.              
  2684.               
  2685.                     3 Copy any DELETED messages (not accounts) to separate files called 
  2686.                       "XXXnnnnn.bbb", where "nnnnn" is the message number and "bbb" is the board 
  2687.                       abbreviation.  This provides even more protection than 1 or 2 above since the file 
  2688.                       is never open during a possible crash, but as more files are added to the directory, 
  2689.                       the system will become progressively slower.  If you use this option, be sure to 
  2690.                       copy the files off the hard disk and delete them every day to avoid degrading the 
  2691.                       system.              
  2692.               
  2693.                     4 Copy any ADDED, CHANGED, or DELETED messages (not accounts) to 
  2694.                       separate files called "XXXnnnnn.bbb".  This is similar to 3, above, but includes 
  2695.                       more files.              
  2696.               
  2697.                  Use utility program, BBUTIL2, to restore deleted messages or accounts back into your database.
  2698.               
  2699.                  After prompting for the backup level, Bulletron will also ask you for  an OS/2 directory path that 
  2700.                  it can use for automatic backup.  If you specify a valid OS/2 directory here, then at the beginning of the 
  2701.                  daily purge, the system will make compacted and cleaned copies of the BB*.DAT and BB*.IDX files in 
  2702.                  this directory.  This will occur transparently to the users, so that the system need never go off-line for 
  2703.                  backups.  You can disable this function by leaving this blank or entering spaces.
  2704.               
  2705.                  
  2706.               
  2707.                  G - Default access levels
  2708.               
  2709.                  
  2710.               
  2711.                  This prompts for the feature, time limit, download command time limit, and chat command time 
  2712.                  limit access levels.  The default feature access level is the access level that a new user is assigned when 
  2713.                  he first logs on.  It is recommended that this be set to 10 and that the access level for the "enter" 
  2714.                  command for all sub-boards be higher than 10.  This way, a new user cannot leave any messages until 
  2715.                  the system operator raises his feature access level.  The purpose of this is to prevent "hackers" from 
  2716.                  posting illegal or inappropriate material on the BBS.  The default time limit access level is the time 
  2717.                  limit access level that a new user is assigned when he first logs on.  It determines how many minutes 
  2718.                  will be allowed per session, and per day, for unverified users.  The default chat time limit access level 
  2719.                  determines how many minutes an unverified user can be using the chat command, per session and per 
  2720.                  day.  The download time limit access level determines how many minutes an unverified user can be 
  2721.                  downloading, per session and per day.  The purpose of these last two access levels is to prevent unpaid 
  2722.                  users from spending all their time in chat or downloading.  
  2723.               
  2724.                  
  2725.               
  2726.                  H - Max inactivity by USER before disconnecting:
  2727.               
  2728.                  
  2729.               
  2730.                  A user may log on to the system then go to answer the door or another phone and forget that he is 
  2731.                  logged on, keeping other users from logging on.  This parameter determines how long the system 
  2732.                  should wait for the user to enter a character before automatically logging him off.  The usual value 
  2733.                  would be 10 minutes.  If the system is waiting for input for more than 10 minutes, it disconnects the 
  2734.                  user so that others can call.   A warning is displayed one minute before cancelling his session.
  2735.               
  2736.                  When you select option "H", the system also asks you to specify the maximum inactivity by 
  2737.                  network chat before disconnecting.  If two systems are connected in chat by network chat, there must be 
  2738.                  some activity (even if that activity is limited to users logging on and off) on either system to keep them 
  2739.                  connected.  This parameter indicates how long Bulletron should wait without any activity on either 
  2740.                  system before disconnecting.  You may have defined network chat to be connected for two hours, but if 
  2741.                  no one logs on or off either system for this defined amount of time, then network chat will terminate 
  2742.  
  2743.               
  2744.  
  2745.  
  2746.  
  2747.  
  2748.  
  2749.                  before the end of the two hour period. A normal value would be 15 minutes.
  2750.               
  2751.                  
  2752.               
  2753.                  I - Minimum access level to delete
  2754.               
  2755.                  
  2756.               
  2757.                  If a user has not logged on for a period (that period defined in option "J" below) and his access 
  2758.                  level is less than or equal to this value, then his account will be deleted.  If you want users to not be 
  2759.                  deleted for inactivity, set their  feature access level above this value.  Subscribers with time or money in 
  2760.                  their account are never deleted automatically.
  2761.               
  2762.                  
  2763.               
  2764.                  J - Days to autodelete acct
  2765.               
  2766.                  
  2767.               
  2768.                  Bulletron allows the system operator to specify when to automatically delete accounts rather than 
  2769.                  restricting it to only 30 days.  The number must be between 0 and 254 days where 0 means do not purge 
  2770.                  accounts automatically.
  2771.               
  2772.                  
  2773.               
  2774.                  K - Days to autopurge msgs
  2775.               
  2776.                  
  2777.               
  2778.                  The number of days to autopurge public messages is changeable for each sub-board with the 
  2779.                  "PB" command.  This parameter is used, however, to autopurge private files and to purge mail to/from 
  2780.                  deleted accounts.  The number of days must be in the range of 1 to 254.  If the number of days is zero, 
  2781.                  then the system will not purge files or orphaned mail.  Bulletron will purge personal upload files (files 
  2782.                  on the personal mail download directory with a file name of the form "account.@nn") if the time 
  2783.                  between the upload date (not the date the user downloaded it) and the current date exceeds the days 
  2784.                  defined here.
  2785.               
  2786.                  
  2787.               
  2788.                  L - Description lines
  2789.               
  2790.                  
  2791.               
  2792.                  This parameter enables or disables the 3-line description for each user.  Enter "Y" if you want 
  2793.                  your system to prompt for and display the user description, or "N" if you do not want  to use this 
  2794.                  facility.
  2795.               
  2796.                  
  2797.               
  2798.                  M - System Password
  2799.               
  2800.                  
  2801.               
  2802.                  Some systems are very popular and get many calls from people with various interests.  If your 
  2803.                  BBS is designed for specific interests, such as a camera club for instance, you may want to limit the 
  2804.                  system to only those people interested in cameras.  In this example, set the system password to 
  2805.                  "camera".  If you specify a system password, then when a new user logs on, the system will prompt him 
  2806.                  with the following message:  "If you know what this bbs is about, then you also know the password.  
  2807.                  Enter the system password:"  If the user enters the password you specify, then he will be allowed to set 
  2808.                  up an account; otherwise, the system will disconnect him.  The purpose of this is to limit the number of 
  2809.                  new users when the system becomes too busy.  By forcing people to know what the system is about to 
  2810.                  get on, you reduce the number of "one time callers".  If the system password is blank, the prompt will 
  2811.                  not be asked and anyone can set up an account.
  2812.               
  2813.                  You can also enter "*" for the password.  Bulletron will prompt the user for a password, but will 
  2814.                  accept any password.  It will then save that password in the user's record.  The SYSOP can view the 
  2815.  
  2816.               
  2817.  
  2818.  
  2819.  
  2820.  
  2821.  
  2822.                  user's record with the "WA" command and see what password was used to log on.  This can be useful to 
  2823.                  give certain users access to special boards or to trace where users heard about the system.  If you use 
  2824.                  different passwords in various advertisements, then you can find out which ads are bringing in the most 
  2825.                  users.  You can also create a "BADPSWRD" message (see "Customizing Menus and Prompts") to 
  2826.                  present a menu of system passwords to the user if he does not know any system password, then let the 
  2827.                  system automatically assign his access levels and SIGs based on the system password he selects.
  2828.               
  2829.                  The "PXS" system operator command allows the SYSOP to define  multiple system passwords 
  2830.                  with a separate access level and preset SIGs for each.  For instance, you may have defined a system 
  2831.                  password as "CAR" so that if a new user uses "CAR" for the system password, then his default access 
  2832.                  level would be 15 instead of 10 and he would automatically have access to the "CAR" SIG.
  2833.               
  2834.                  You can also specify "#" as the system password.  This will make Bulletron check the system 
  2835.                  password file, as with "*", but unlike "*", will not let him set up an account if he does not enter a 
  2836.                  recognized password.  You would not likely create a "BADPSWRD" message if you specify "#" for the 
  2837.                  system password.
  2838.               
  2839.                  
  2840.               
  2841.                  N - BBS Name
  2842.               
  2843.                  
  2844.               
  2845.                  This is the name that will appear in the salutation and on menus periodically.  It can be at most 20 
  2846.                  characters in length.
  2847.               
  2848.                  
  2849.               
  2850.                  P - Place to prompt MMQ
  2851.               
  2852.                  
  2853.               
  2854.                  Some system operators want to prompt their users to answer the questionnaire when they select a 
  2855.                  sub-board that has the questionnaire, while others want to prompt the user only when the user enters a 
  2856.                  command that checks someone else's  questionnaire.  Enter "B" if you want the user prompted to 
  2857.                  answer the questionnaire, or "M" if you want the user to be prompted only when he enters an "M" 
  2858.                  (Matching) command.
  2859.               
  2860.                  
  2861.               
  2862.                  R - SS/RS command access level
  2863.               
  2864.                  
  2865.               
  2866.                  This is the feature minimum access level that a user must have to access the searching functions 
  2867.                  of the "S" and "R" commands.  String searches can consume a lot of system resources, making other 
  2868.                  users wait.  You may want to restrict access to this feature to subscribers only.
  2869.               
  2870.                  
  2871.               
  2872.                  S - MS/MP command access level
  2873.               
  2874.                  
  2875.               
  2876.                  This is the minimum feature access level that a user must have to access the matching or locator 
  2877.                  functions of the "M" command.  It controls the MS/MP command even if a user can access the rest of 
  2878.                  the "M" commands due to the access level of the "M" command on the board level.  Like string 
  2879.                  searches, matchmaker searches can be time consuming, and you may want to restrict the use of these 
  2880.                  commands to subscribers only.
  2881.               
  2882.                  
  2883.               
  2884.                  T - WS command access level
  2885.               
  2886.                  
  2887.               
  2888.  
  2889.               
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.                  This is the minimum feature access level that a user must have to perform string searches of 
  2896.                  people's personal descriptions, using the "WS" function of the Who command.
  2897.               
  2898.                  
  2899.               
  2900.                  U - C command access level
  2901.               
  2902.                  
  2903.               
  2904.                  This is the minimum feature access level that a user must have to access the chat commands.  
  2905.                  This command is only applicable on multi-user systems.  There is no one else to chat with if you only 
  2906.                  have one phone line!
  2907.               
  2908.                  
  2909.               
  2910.                  V - Database access level
  2911.               
  2912.                  
  2913.               
  2914.                  This is the minimum feature access level that a user must have to be able to access the application 
  2915.                  specific database feature.  If you are not using the database feature, set this access level to -1 and the 
  2916.                  files will not even be opened.
  2917.               
  2918.                  
  2919.               
  2920.                  W - /BRING access level
  2921.               
  2922.                  
  2923.               
  2924.                  This is the minimum feature access level that a user must have to be able to access the "/BRING" 
  2925.                  command in chat.  Some users can be really annoying, calling others into chat with the "/BRING" 
  2926.                  command, particularly if you have any users in the 12 to 15 year old age group.
  2927.               
  2928.                  
  2929.               
  2930.                  X - Utility/help board
  2931.               
  2932.                  
  2933.               
  2934.                  This parameter is the 3 character abbreviation for the sub-board that will contain your menus, 
  2935.                  help messages, questionnaires and prompts.
  2936.               
  2937.                  
  2938.               
  2939.                  Y - Allow anonymous messages
  2940.               
  2941.                  
  2942.               
  2943.                  This allows the SYSOP to disable the "EY" and "E ANON" commands which allows users to 
  2944.                  enter anonymous messages (and anonymous comments).  The SYSOP is always shown the originator, 
  2945.                  even on anonymous messages.  Anonymous boards will still function even with this parameter set to 
  2946.                  "N".  Anonymous private mail can be particularly annoying when it is of a sexual or threatening nature.
  2947.               
  2948.                  
  2949.               
  2950.                  Z - Disable Bell
  2951.               
  2952.                  
  2953.               
  2954.                  Bulletron rings the bell (beeper) on your computer when a call is received, rings the bell on the 
  2955.                  user's computer when he successfully logs on, and can make a special ring when a new user logs on.  
  2956.                  This option allows you to disable both logon bells, or enable the new user bell.  Enter "Y" to the first 
  2957.                  prompt to disable the bell when a call is received or "N" to allow the bell to ring.  Enter "Y" to the 
  2958.                  second prompt to disable the bell when logon is successful, or "N" to enable it. Enter "Y" to the third 
  2959.                  prompt to enable the new user bell.  The new user bell is a very distinguishable sound that will ring 
  2960.                  twice for the user's first call, three times for his second call, or four times for his third call.  The purpose 
  2961.  
  2962.               
  2963.  
  2964.  
  2965.  
  2966.  
  2967.  
  2968.                  of this is to call attention if there is a system operator on duty, to monitor that user and offer assistance 
  2969.                  if he seems lost at first.  Even if these bell tones are enabled, the "sysop available to chat" command 
  2970.                  must be selected in the Control Window before the bell will ring.  Therefore, you can turn the bell on or 
  2971.                  off from the Control Window rather than changing this parameter.
  2972.               
  2973.                  
  2974.               
  2975.                  1 - Default Session Controls
  2976.               
  2977.                  
  2978.               
  2979.                  "Session controls" are operating parameters for Bulletron sessions that each user can set 
  2980.                  according to his own preferences.  To spare the user a lot of confusing questions when he first sets up 
  2981.                  an account, Bulletron lets the SYSOP define a set of default session controls that he feel will be right 
  2982.                  for each new user logging onto his system for the first time.  As the user becomes more knowledgeable 
  2983.                  about the system, he eventually finds the "N" command and modifies his session controls to suit his 
  2984.                  own style.  Here, Bulletron prompts you with the same questions that it would ask a user if the user 
  2985.                  selected the session controls option of the "N" command.  The parameters that you can specify are:
  2986.               
  2987.                     Pause after every 22 lines - Answering "Y" makes the user press [ENTER] to continue each 
  2988.                       time that his screen gets full; answering "N" lets the user's screen scroll freely.  
  2989.                       The "N" answer is generally selected by users who capture their session to a 
  2990.                       buffer for off-line reading later.              
  2991.               
  2992.                     Initial command "R" instead of "S" - This determines whether Bulletron displays the full text 
  2993.                       of the new messages when a sub-board is selected, or just shows the message 
  2994.                       titles.  See "Summary Commands", in the section above on "Setting up 
  2995.                       sub-boards".              
  2996.               
  2997.                     Show menus and headings - Once the user knows the Bulletron commands, he can save time 
  2998.                       by turning the menus off.  He can still enter "?" at any time to display a menu if he 
  2999.                       forgets something.              
  3000.               
  3001.                     Show board introductions when entering a board - After a new user knows the subject matter 
  3002.                       on each sub-board, turning off these introductions saves a lot of time.              
  3003.               
  3004.                     Prompt for next sub-board if no new messages - Some users get lost and assume that if there is 
  3005.                       no new messages on the first sub-board, that there is no new messages anywhere. 
  3006.                       This prompts them to select other sub-boards and look for messages there.  
  3007.                       Experienced users will turn this off and use the "SB" and "RB" commands.              
  3008.               
  3009.                     Enable chat shell for novice users - Novice users sometimes have trouble getting into chat.  
  3010.                       This bypasses the chat command and gives them a simple way of getting into chat 
  3011.                       but prevents them from using the other powerful features available while in chat.              
  3012.               
  3013.                     Confirm message deletion - Asks the user "are you sure?" before deleting a message.              
  3014.               
  3015.                     Block "/C ALL" commands - If someone logs on and sees that no one is in public chat, then he 
  3016.                       can use the "/C ALL" command to broadcast a message to all the other users to 
  3017.                       entice them into public chat.  Some users may find this irritating and this option 
  3018.                       allows them to block those solicitations.              
  3019.               
  3020.                     Do a WO LONG rather than a short WO during logon - This shows the name, location, and 
  3021.                       3-line description of users online at logon, rather than just the account  codes.              
  3022.               
  3023.                     Disable entering commands while menu displays - This disables the HOT KEY function.              
  3024.               
  3025.                     Prevent line blanking during screen pause - This prevents Bulletron from sending a series of 
  3026.                       backspaces to blank out the pause message and saves transmission time.              
  3027.               
  3028.                     Disable Random Messages - You can create special messages on your "utilities" sub-board 
  3029.                       that the system will display to users randomly just prior to a main system prompt.  
  3030.                       If the user chooses to save time by not receiving these, then he can answer "Y" to 
  3031.                       this option.  However, you, as the system operator can override this, forcing users 
  3032.                       to receive some or all of these messages, using option "4" of the "PXP" command.              
  3033.               
  3034.  
  3035.               
  3036.  
  3037.  
  3038.  
  3039.  
  3040.  
  3041.                     Do a FC During Logon - The "FC" command presents the user with a listing of files that are 
  3042.                       new to your system since his last logon.  In most cases, you will set this to "Y" 
  3043.                       and let the user disable it later if he wishes, as it entices people to spend time 
  3044.                       downloading files.              
  3045.               
  3046.                     Disable All Graphics Permanently - If you have set your system to auto-sense ANSI and/or 
  3047.                       RIP graphics (see option "9", below), then some long distance users may prefer to 
  3048.                       always use straight ASCII to cut down on long distance phone time.  Usually, you 
  3049.                       will set the default for this to "N" and allow users to change it to "Y" if they 
  3050.                       desire.              
  3051.               
  3052.                  These values become the defaults for new users.  After each question will be a (Y/[N]) where the 
  3053.                  number in [] such as [N] is the current default value which will be selected if the user presses enter 
  3054.                  without entering a "Y" or "N".
  3055.               
  3056.                  
  3057.               
  3058.                  2 - Files Access Level
  3059.               
  3060.                  
  3061.               
  3062.                  This is the minimum feature access level that a user must have to execute the "D", "U" and "V" 
  3063.                  commands.  You may want to occasionally set this very high to block access to your file areas while 
  3064.                  you are doing maintenance on your file libraries.  You may also find this necessary if the disk drive 
  3065.                  containing your files fails, or if your files are on another computer on a LAN, and the connection to that 
  3066.                  server is broken.
  3067.               
  3068.                  When you set this option, a second question is asked , whether or not you wish the system to 
  3069.                  delete descriptions of files that no longer exist during the daily purge.  In most cases, it is convenient to 
  3070.                  have these purged so that users are not presented with descriptions of files that no longer exist.  
  3071.                  However, should your files be on a remote server on a LAN, and that server is not accessible when the 
  3072.                  purge time comes, then you do not want the system to automatically delete all of your file descriptions.
  3073.               
  3074.                  
  3075.               
  3076.                  3 - Activate message read counter
  3077.               
  3078.                  
  3079.               
  3080.                  This activates a counter each time a message is read so the user knows how often a particular 
  3081.                  message has been read.  It will be slightly inaccurate if two users are reading the same message at the 
  3082.                  same time, or the reader exits the message with "Y".  It also slows Bulletron down since every message 
  3083.                  must be rewritten even if no comments were added. Consequently, this option is NOT recommended on 
  3084.                  those large systems with a lot of message reading activity due to performance degradation.
  3085.               
  3086.                  
  3087.               
  3088.                  4 - Show status of ALL lines
  3089.               
  3090.                  
  3091.               
  3092.                  If a user logs on with "/Invisible", if a user is invisible due to board separation, or if lines are in 
  3093.                  use with outside features, it is possible for the system to appear empty to a caller when actually it is 
  3094.                  quite busy.  This parameter provides the SYSOP with the option of leaving "invisible" lines truly 
  3095.                  invisible, or showing "in use" on lines that are being used when someone does a "WO" command.  If 
  3096.                  the SYSOP decides to show the true status of lines being "in use", then a caller will see that the system 
  3097.                  is busy but he will not know who is online.
  3098.               
  3099.                  
  3100.               
  3101.                  5 - Allow account change (Y/N)
  3102.               
  3103.                  
  3104.               
  3105.                  Once a user has set up an account, he cannot normally change his account code.  The reason for 
  3106.                  this is that 1) the user would not get mail addressed to old account, and 2) the user could send some 
  3107.  
  3108.               
  3109.  
  3110.  
  3111.  
  3112.  
  3113.  
  3114.                  undesirable mail or illegal information and change his account again so that the SYSOP would not 
  3115.                  know who actually entered the message.  There are some circumstances when the SYSOP may want to 
  3116.                  allow users to change their codes.  This option allows the SYSOP to turn on or off that capability.  If it 
  3117.                  is turned on, the user can use the "N" command to change his account code.  If it is turned off, the user 
  3118.                  cannot change his account code REMOTELY, but it can still be done LOCALLY.  A SYSOP may not 
  3119.                  want to allow all his users to be able to change their codes, but the sysop could change a specific user's 
  3120.                  code by logging on locally as the user and change it.  Remember, a user will NOT get mail addressed to 
  3121.                  his old account if he changes his account code.  The "MENUN" message on your "utilities" sub-board 
  3122.                  should be modified to add the entry for "option 0 - Account Change" if you enable this feature.
  3123.               
  3124.                  
  3125.               
  3126.                  6 - Personal Mail board
  3127.               
  3128.                  
  3129.               
  3130.                  This parameter is the 3 character abbreviation for the personal mail sub-board that you set up 
  3131.                  with Installation/Customization Menu function "B".  Bulletron routes personal mail to that sub-board 
  3132.                  no matter what sub-board the user has selected when he enters the message.  The Enter Command 
  3133.                  Access Level that you set for your "personal mail" sub-board ("PB" command) controls whether or not 
  3134.                  people can enter personal mail regardless of their current sub-board selection.  For example, suppose 
  3135.                  that a user with a feature access level of 10 selects a sub-board which has an Enter Command Access 
  3136.                  Level of 100, but the Enter Command Access level of the "personal mail" sub-board is 10.  That user 
  3137.                  would be able to initiate personal mail on the high access level sub-board, but not post public messages.
  3138.               
  3139.                  
  3140.               
  3141.                  7 - Alternate disk drive [*]
  3142.               
  3143.                  
  3144.               
  3145.                  The default directory on this disk drive will receive the "BBSLOGmm.DAT", 
  3146.                  "DELETEME.TMP", and any ".BAK" files which Bulletron creates.  This must be set to a valid HARD 
  3147.                  DISK drive, not a RAMdisk and not a floppy drive.  Put a "*" here if you want Bulletron to use the 
  3148.                  drive that was current when the BBS was last started.
  3149.               
  3150.                  
  3151.               
  3152.                  8 - O (Outside Features) command access level
  3153.               
  3154.                  
  3155.               
  3156.                  This is the minimum feature access level that a user must have before the Outside Features 
  3157.                  (doors) Menu will display to him.  Each feature on the Outside Features Menu has a separate access 
  3158.                  level also.  This feature is used to disable all Outside Features to all users.
  3159.               
  3160.                  
  3161.               
  3162.                  9 - ANSI Graphics
  3163.               
  3164.                  
  3165.               
  3166.                  You have three choices for this option;  "N" for straight ASCII, "Y" to enable support for ANSI 
  3167.                  graphics, or "R" to enable support for both ANSI and RIP graphics.  The ANSI standard is a proper 
  3168.                  subset of the RIP standard, so you cannot enable RIP without ANSI.  If you answer "Y" or "R" to this 
  3169.                  question, then the BBS will prompt you with additional questions:
  3170.               
  3171.                  
  3172.               
  3173.                  Simulate ANSI locally (Y/N)
  3174.               
  3175.                  
  3176.               
  3177.                  If you are using a color monitor and want to see what the user is seeing on your own screen, 
  3178.                  answer "Y".  This makes the BBS run a little slower when you are monitoring some user's session.  
  3179.                  Bulletron does not attempt to simulate RIP graphics on the local console because the CPU time 
  3180.  
  3181.               
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.                  required to draw the complex graphics would be prohibitive.
  3188.               
  3189.                  
  3190.               
  3191.                  Auto-Sense ANSI Capability
  3192.               
  3193.                  
  3194.               
  3195.                  If you answer "Y" to this question, the Bulletron will send the sequence "ESC[6n", which is an 
  3196.                  ANSI cursor position query.  It the user's terminal or terminal emulator program responds with a cursor 
  3197.                  position report within two seconds, then the system will automatically enable ANSI graphics for the 
  3198.                  session.  If you answer "N" to this question, then the system will ask the user whether or not he wants 
  3199.                  ANSI graphics for the session.
  3200.               
  3201.                  
  3202.               
  3203.                  Auto-Sense RIP Capability
  3204.               
  3205.                  
  3206.               
  3207.                  If you answer "Y" to this question, the Bulletron will send the sequence "ESC[0!", which is an 
  3208.                  RIP revision level query.  It the user's terminal or terminal emulator program responds with a RIP 
  3209.                  revision level  report within two seconds, then the system will automatically enable RIP graphics for 
  3210.                  the session.  If you answer "N" to this question, then the system will ask the user whether or not he 
  3211.                  wants RIP graphics for the session.  Auto-sensing of RIP capability occurs before auto-sensing of ANSI 
  3212.                  capability because RIP is a superset of ANSI.  Anyone who has RIP capability has ANSI capability, but 
  3213.                  not vice versa.
  3214.               
  3215.                  Allowing Bulletron to auto-sense graphics modes can make your system easier to figure out for 
  3216.                  novice users, but it can greatly annoy experienced users who know that the overhead imposed by 
  3217.                  graphics controls adds to their long distance phone bill.  For those users, there is an option in the "N5" 
  3218.                  command that allows them to disable all graphics for their account, regardless of what the system 
  3219.                  auto-sensed.  If a user selects this option, then he will see only your logo screen in graphics mode, 
  3220.                  because the logo screen is displayed before he enters his account code.
  3221.               
  3222.                  For a user to be able to see the ANSI graphics, he must be using a terminal program that will 
  3223.                  recognize and process the ANSI graphic escape sequences.  Three such terminal programs are 
  3224.                  Qmodem, Telix and Procomm, though there are many others.  The Microsoft Windows terminal 
  3225.                  emulator program is one notable exception that is not capable of displaying ANSI graphics properly.  If 
  3226.                  a user is not calling with a computer that supports ANSI graphics and he answers "Y" to the question, 
  3227.                  then he will probably get a lot of strange characters on his screen.  RIP graphics can only be viewed 
  3228.                  with a program named RIPterm, a product of TeleGrafix Communications, Inc.
  3229.               
  3230.                  
  3231.               
  3232.                  0 - # of Downloads/uploads
  3233.               
  3234.                  
  3235.               
  3236.                  Bulletron maintains a count, for each user, of the number of kilobytes downloaded and the 
  3237.                  number of kilobytes uploaded.  The ratio of the number of kilobytes downloaded to those uploaded is 
  3238.                  defined here.  If the user's ratio exceeds this value, then he will not be permitted to download more.  If 
  3239.                  the user uploads a garbage file just to allow more downloading, then the SYSOP can adjust the 
  3240.                  download/upload counts for that user with the "+8" command.  The calculation is always rounded 
  3241.                  upward to the next highest increment of 1024 bytes, i.e., downloading a 3,500 byte file will be treated 
  3242.                  as 4,096 bytes downloaded.  Bulletron maintains the counts of Kbytes downloaded and uploaded as 
  3243.                  16-bit integers.  If a user  uploads more than 65 Mbytes, and his count of Kbytes uploaded overflows, 
  3244.                  then it is set to the number of Kbytes in the current file and his count of Kbytes downloaded is cleared 
  3245.                  to zero so that the user is not inhibited from downloading.  If a user downloads 65 Mbytes, and his 
  3246.                  count of Kbytes downloaded overflows, then 65,636 is divided by the current download/upload ratio 
  3247.                  and that amount is subtracted from the user's Kbytes uploaded.
  3248.               
  3249.                  5.4.6.  Extended System Parameters
  3250.               
  3251.                  From the main system prompt ("What next?"), enter "P" to access the Installation/Customization 
  3252.                  Menu, then enter "X" to access the Extended Features Menu, then enter "P" to access the Extended 
  3253.  
  3254.               
  3255.  
  3256.  
  3257.  
  3258.  
  3259.  
  3260.                  System Parameters Menu, or simply enter "PXP" from the main system prompt to save time.  This 
  3261.                  menu allows you to change the following features:
  3262.               
  3263.                  
  3264.               
  3265.                  A - Verify Questionnaire
  3266.               
  3267.                  
  3268.               
  3269.                  If you set this option to "Y", then all new users will be required to answer a questionnaire when 
  3270.                  they first set up an account.  The questionnaire itself is located on your "utilities" sub-board as a 
  3271.                  message to account "VERIFYQU".  The message that is formed from the questionnaire and the answers 
  3272.                  is sent to the SYSOP account in private mail.  Once a user answers this questionnaire, an indication is 
  3273.                  set in his account record.  If the SYSOP wants the user to reanswer the questionnaire because the user 
  3274.                  did not answer some of the  questions, then the SYSOP can reset that indicator using the "+9" 
  3275.                  command and the user will be required to answer the questionnaire again the next time that he logs on.  
  3276.                  There are three possible responses to this question.  "N" means that there is not a verify questionnaire 
  3277.                  so none will be prompted.  "B" means prompt both new and existing users if the indicator is not set, and 
  3278.                  "Y" means only prompt new users.
  3279.               
  3280.                  There are two common uses for the verify questionnaire.  In a dating service type system, where 
  3281.                  three line personal descriptions are used and anonymity is fairly important, the  system operator may 
  3282.                  use the verify questionnaire to obtain confidential registration information from his applicants, such as 
  3283.                  real name, address, phone number, etc..  Voice callback verification of new applicants is crucial to the 
  3284.                  success of any system that supports a degree of anonymity.  It is the only proven method of avoiding 
  3285.                  prank calls.
  3286.               
  3287.                  In a tech support system, a mail order sales system or a real estate matchmaker system, where 
  3288.                  anonymity is a liability because the users are trying to advertise, it is common to use the verify 
  3289.                  questionnaire to collect marketing information on users' needs so that the system can adapt to meet 
  3290.                  them.  
  3291.               
  3292.                  An alternative to the verify questionnaire, which may be more useful for some SYSOPs, is to set 
  3293.                  up a matchmaker questionnaire for the first sub-board that the user sees, either multiple choice, essay, 
  3294.                  or combined matchmaker, and force all users to answer the questionnaire the first time that they select 
  3295.                  that sub-board ("PP" command, option "P").  Then set the access level for the "M" commands on that 
  3296.                  sub-board very high.  This will force the user to answer the  questionnaire and the user can use "MI" to 
  3297.                  re-answer the questionnaire, but he cannot use the "MA", "MS", or other search and view commands.  
  3298.                  The SYSOP can use the "MA", "MS", and "MP" commands, however, to perform demographic studies 
  3299.                  on his user base.  The disadvantage of using the matchmaker questionnaire for verification is that the 
  3300.                  sysop is not notified automatically in private mail.  That makes it difficult to call new users and voice 
  3301.                  verify them.  It is possible to use both the verify questionnaire and the  matchmaker at the same time.  
  3302.               
  3303.                  
  3304.               
  3305.                  B - Default File Name Extension
  3306.               
  3307.                  
  3308.               
  3309.                  As a convenience to your users, if most of the files on your BBS have the same file name 
  3310.                  extension, such as ".ZIP", ".GIF", etc.., then you can enter that here and they don't have to type it when 
  3311.                  they specify the name of a file to download or upload.  Enter all space characters to not assume any 
  3312.                  default file name extension.  This file name extension is given to every new user account.  Each user 
  3313.                  can later change  his own default file name extension using the "N" command.  Be sure to enter the 
  3314.                  leading period when you specify the default file name extension.
  3315.               
  3316.                  
  3317.               
  3318.                  C - 3-line description or name/address
  3319.               
  3320.                  
  3321.               
  3322.                  An alternative to having a verify questionnaire to have the  BBS keep the users' name, address, 
  3323.                  and telephone information in its internal database for rapid retrieval.  This allows the user to update the 
  3324.                  information with the "N" command.  The  address and telephone numbers are only seen by the SYSOP, 
  3325.                  not by users or assistant SYSOPs.  Users can see the name and city/state, but not the address or 
  3326.  
  3327.               
  3328.  
  3329.  
  3330.  
  3331.  
  3332.  
  3333.                  telephone numbers of other users.  This information is maintained in the area which normally holds the 
  3334.                  second and third description line of a  user.  This information can be extracted with a function in the 
  3335.                  BBUTIL2 program to create a file to be used for mailing labels.  There are two possible prompts for 
  3336.                  this parameter:  "3" means use the 3-line description, or "N" means use the  name/address/telephone 
  3337.                  facility.  There is also a facility in BBUTIL2 to allow you to reset these areas if the sysop decides to 
  3338.                  switch from 3-line to name/address while there are  users already on file.  Bulletron will prompt for 
  3339.                  either the  description or the name/address if these fields are cleared.  
  3340.               
  3341.                  
  3342.               
  3343.                  D - Allow BBS to call back users
  3344.               
  3345.                  
  3346.               
  3347.                  In some instances, it is desirable for the SYSOP to assume  the charge for the telephone call.  In 
  3348.                  this case, the user logs on, uses the "N" command, option "T", to have the system call him back, and 
  3349.                  gives the system the telephone number which to call.  Bulletron will then disconnect the user, wait 6 
  3350.                  seconds, dial the number which the user gave him, and attempt to reconnect with the user.  The user 
  3351.                  will be  prompted for his password before allowing him to reconnect.  If you want to allow Bulletron to 
  3352.                  call users back, enter "Y" for this parameter, otherwise, enter "N".  Note:  if you do allow callback, 
  3353.                  change "MENUN" on your "utilities" sub-board to show option "T".  
  3354.               
  3355.                  You can also use this feature to allow new users to validate their own accounts on their first call.  
  3356.                  If you set this option to "V", then, when a user successfully executes the  "NT" command, the system 
  3357.                  automatically assigns new access levels, SIGs and flags to his account.  The system also records the 
  3358.                  phone number that he dialed in his account record, in a field that the full SYSOPs can view using the  
  3359.                  "W" commands.  The dial-out event is recorded in the system log file (BBSLOGmm.DAT) in case you 
  3360.                  want to bill charges for the call.  Individual phone lines can be set to not allow callback, or only allow 
  3361.                  callback to local phone numbers, using the "PL" command.  The access levels, SIGs and flags assigned 
  3362.                  by this function are set by options "U", "V" and "W" of the "PX$" command, respectively.  Keep in 
  3363.                  mind, if you use  this function, that it is not as foolproof as genuine voice validation; that is, it can not 
  3364.                  prevent children from accessing adult materials if your system carries such materials.  Therefore, you 
  3365.                  will want to set the assigned access level, SIGs and flags in such a way that users do not gain access to 
  3366.                  restricted materials in this manner.  If you allow long distance calls, then you will also want to  restrict 
  3367.                  the time limits for access levels assigned by this function.  Option "E", below, lets you set a maximum 
  3368.                  access level for this function, as well as a minimum access level, so that users can not execute the "NT" 
  3369.                  command again, after they have done it once.  If you use the "V" setting for this option, the system will 
  3370.                  send you a message in private mail each time that a user validates his account in this manner, telling 
  3371.                  you the account code and the number that he dialed, o that you can decide whether or not you want to 
  3372.                  assign higher access level, or delete the account.
  3373.               
  3374.                  
  3375.               
  3376.                  E - Call back access level
  3377.               
  3378.                  
  3379.               
  3380.                  If you DO want the system to call users back, you may restrict it to only those users who have a 
  3381.                  specific access level or higher -- such as SYSOPs or assistant SYSOPs only.  Enter the feature access 
  3382.                  level required to use the call back feature here.
  3383.               
  3384.                  If you select the validation option for callback, setting "V" for option "D", above,  then you will 
  3385.                  also be prompted for a maximum access level here.  Only users with an access level greater than or 
  3386.                  equal to the minimum, and less than the maximum will be allowed to use the "NT" command.  If, for 
  3387.                  example, you set the default feature access level for new  accounts to 10, set the minimum access level 
  3388.                  here to 10, set the maximum access level here to 15, and assign access level 20 on successful callback, 
  3389.                  then new users will only be able  to use the callback function once.
  3390.               
  3391.                  
  3392.               
  3393.                  F - Limit 300 baud
  3394.               
  3395.                  
  3396.               
  3397.                  With most users calling in at 9600 Baud or above, some  systems prefer to limit 300 Baud callers 
  3398.                  to certain hours to prevent them from using a lot of time downloading at the  slower speed.  You can set 
  3399.  
  3400.               
  3401.  
  3402.  
  3403.  
  3404.  
  3405.  
  3406.                  the hours during which 300 Baud callers will be allowed on.  If they call outside these  hours, they will 
  3407.                  be sent a message, at 300 Baud, telling them what hours they may call back.  Enter the begin time and 
  3408.                  end time that 300 Baud callers are allowed online.  If they can be on during any hour, enter 0 for the 
  3409.                  begin time and 2400 for the end time.  If you want to restrict them to the time between 1:00 AM and 
  3410.                  5:00 AM, then enter 0100 for the begin time, and 0500 for the end time.  
  3411.               
  3412.                  
  3413.               
  3414.                  G - Enable Bulletins
  3415.               
  3416.                  
  3417.               
  3418.                  See the section titled "Bulletins" for a complete discussion of this feature.   Because this feature 
  3419.                  requires a great deal of disk overhead, it is best to disable this feature here  unless absolutely necessary.  
  3420.                  Using Bulletron's Message-of-the-Day feature will accomplish the same functions without the disk 
  3421.                  overhead.  The value entered here will be  "Y" to enable bulletins, or "N" to disable the bulletin  feature.  
  3422.               
  3423.                  
  3424.               
  3425.                  H - Time between retries
  3426.               
  3427.                  
  3428.               
  3429.                  If the system tries to dial another system in the network to transmit messages and the other 
  3430.                  system does not answer, then Bulletron needs to wait for a period before redialing.  This parameter 
  3431.                  determines how long it should wait before redialing.  Normally this would be 10 minutes.  If this time 
  3432.                  is zero, then no automatic network dialing will occur.
  3433.               
  3434.                  
  3435.               
  3436.                  I - Max retries
  3437.               
  3438.                  
  3439.               
  3440.                  This parameter determines how many times Bulletron will redial a system in one day before 
  3441.                  giving up.  A normal value would be 3 tries.  Note that, if this value is zero, no automatic network 
  3442.                  dialing will occur and networking must be done manually from the Control Window with the "=" 
  3443.                  command.
  3444.               
  3445.                  
  3446.               
  3447.                  J - Allow remote new accounts
  3448.               
  3449.                  
  3450.               
  3451.                  Some corporate BBS operators may not want remote callers to be able to set up an account.  
  3452.                  Enter "N" at this prompt and Bulletron will not accept new accounts remotely.  It will allow setting up 
  3453.                  new accounts from the local console, however.
  3454.               
  3455.                  
  3456.               
  3457.                  L - Power fail minutes
  3458.               
  3459.                  
  3460.               
  3461.                  If your computer is connected to an uninterruptable power supply that can signal the computer 
  3462.                  when it switches to battery power, and you have software installed to shut down the computer when 
  3463.                  this signal occurs, then set Bulletron to enter a controlled power-down sequence when this occurs.  To 
  3464.                  trigger the shutdown, your power fail software must execute a utility program named PWRFAIL, which 
  3465.                  is provided with Bulletron.  The PWRFAIL program sends a signal to Bulletron that initiates the 
  3466.                  power-down sequence.  Once initiated, the system will shut down after the number of minutes specified 
  3467.                  by this setup option.  During those minutes, each minute, the system automatically broadcasts a 
  3468.                  message to all users on-line warning them how many minutes remain until shutdown.  If power is 
  3469.                  regained before the system shuts down, then you can execute another utility program named PWROK 
  3470.                  to abort the  power-down sequence.  The PWROK program returns a completion code of zero if the 
  3471.                  system was not down already, or 1 if the  system was down and needs to be restarted, or 2 if it could not 
  3472.  
  3473.               
  3474.  
  3475.  
  3476.  
  3477.  
  3478.  
  3479.                  execute due to some system error.
  3480.               
  3481.                  
  3482.               
  3483.                  M - SS/RS Search (S)ummary only or (M)essage text also
  3484.               
  3485.                  
  3486.               
  3487.                  The "SS" and "RS" commands normally search the 32-character message summary for a string, 
  3488.                  and show the summary line or  display the entire message if that string is found in the  summary.  Some 
  3489.                  SYSOPs would prefer that the entire message  text, not just the summary be searched for the string.  
  3490.                  Since  it takes a lot more time and disk activity to search the  entire message, this is a SYSOP 
  3491.                  configurable option.  If the  SYSOP is able to keep an adequate summary of the message in the 
  3492.                  32-character summary field, then it is fastest to use "S" to search only the summary.  If a more thorough 
  3493.                  search of the entire message is desired at the expense of system performance, then enter "M" for this 
  3494.                  option.  If the messages are well divided among sub-boards so that there are only a limited number of 
  3495.                  messages to be searched, then searching the entire message may not impose a significant delay.  
  3496.               
  3497.                  
  3498.               
  3499.                  N - Board abbreviation for separation
  3500.               
  3501.                  
  3502.               
  3503.                  Sometimes it may be desirable to run a single BBS for two purposes such as a camera club and a 
  3504.                  stamp club and the SYSOP may not want the camera club members to know that the stamp club 
  3505.                  members are also on the system.  This can be accomplished by setting up one of the clubs as a SIG, 
  3506.                  such as CAM for camera.  Use CAM as the board abbreviation for separation.  If you do this, then those 
  3507.                  users who have CAM in their SIG list will not see those without CAM, and those without CAM will 
  3508.                  not see those with CAM in their SIG list.
  3509.               
  3510.                  "Class" code on each user is an expanded form of "board separation".  It allows up to 36 classes, 
  3511.                  A-Z and 0-9.  The  "+D" command allows the SYSOP to change a user's class.  The  "PXS" command 
  3512.                  for system passwords sets the class for new  users.  If a class is present in the user's account record, then 
  3513.                  the user will not be visible to users of a different class.  This provides even more separation than the 
  3514.                  board separation logic which still exists for ease of use and compatibility with prior versions.  You can 
  3515.                  use function "B" of  the BBUTIL2 program to reset the class indicator in all account records to null.
  3516.               
  3517.                  
  3518.               
  3519.                  O - Invisible access level
  3520.               
  3521.                  
  3522.               
  3523.                  Users can logon with the "/INVISI" option whereby they cannot be seen by other users doing a 
  3524.                  "WO" command.  This can be useful for users who are frequently called into chat and  do not have time 
  3525.                  to answer their mail.  This feature can also be abused by some users.  To control who can and cannot 
  3526.                  use this feature, the SYSOP can set the minimum feature access level required to use the "/INVISI" 
  3527.                  command.
  3528.               
  3529.                  
  3530.               
  3531.                  P - Limit scope of "FG" command
  3532.               
  3533.                  
  3534.               
  3535.                  A user can use the "FG" command to perform string searches on your Download Database.  If the 
  3536.                  database is large, it can  take several hours to perform a complete search.  If you set this parameter to 
  3537.                  "N", then Bulletron automatically limits global file searches to just the current sub-board if you have 
  3538.                  more than 2,000 records in your Download Database.  If you set it for "F", then Bulletron will search 
  3539.                  the full database, regardless of how many files you have.  If you set it to "B", then Bulletron will search 
  3540.                  only the current sub-board's directories, regardless of how many files you have.
  3541.               
  3542.                  
  3543.               
  3544.                  R - Days before passwords expire
  3545.  
  3546.               
  3547.  
  3548.  
  3549.  
  3550.  
  3551.  
  3552.               
  3553.                  
  3554.               
  3555.                  If you set this value to zero, the Bulletron will never force a user to change his password.  If you 
  3556.                  set it to some nonzero value, then, if a user logs on, who has not changed his password for that many 
  3557.                  days, the asks him to select a new password.  The new password that the user chooses must be different 
  3558.                  from the old password.  Each user is also given a warning when his password is within seven days of 
  3559.                  expiration.
  3560.               
  3561.                  
  3562.               
  3563.                  S - Path ID for private files
  3564.               
  3565.                  
  3566.               
  3567.                  If you place a valid path ID in this field (as set up with the "IL" command, then whenever a user 
  3568.                  uploads a file to this path, Bulletron forces it to become a private file.  If the  file's name does not have 
  3569.                  an extension of the form ".@nn", then Bulletron prompts the user for the account code of the  recipient 
  3570.                  as the upload finishes.  If you make a directory on your "personal mail" sub-board such that the upload 
  3571.                  path and the download path are the same, so that individuals can send files to other individuals without 
  3572.                  your having to validate  the files and move them from the upload directory to the  download directory, 
  3573.                  this feature prevents users from abusing this directory by uploading non-private files.
  3574.               
  3575.                  
  3576.               
  3577.                  T - Upload credit (cents/Kbyte)
  3578.               
  3579.                  
  3580.               
  3581.                  If your system bills by cents or minutes, you may want to have your BBS automatically credit 
  3582.                  user accounts as an incentive to encourage uploading files.  The downside of this is that some people 
  3583.                  may upload "junk" files to avoid paying for service.  Setting this parameter to zero disables automatic 
  3584.                  upload credit.
  3585.               
  3586.                  
  3587.               
  3588.                  U - FIDO Address [0:0/0.0]
  3589.               
  3590.                  
  3591.               
  3592.                  If you plan to use FIDOnet for wide area networking, then you will need to set this field.  This is 
  3593.                  the address by which your BBS will be known on the worldwide FIDO network.  Your FIDO address is 
  3594.                  assigned to you by your local FIDO coordinator.  In general, if you don't know who your local FIDO 
  3595.                  coordinator is, you can find out by asking the operators of other BBS systems in your area.  If that does 
  3596.                  not work, call our tech support BBS and use the "L" command to browse  the FIDO node list to find 
  3597.                  nodes in your area.  The same node list database is also distributed with demo copies of Bulletron for 
  3598.                  OS/2, and you can perform the search locally if your demo includes the "BBFNODES.DAT" and 
  3599.                  "BBFNODES.IDX" files.  These files can be more than twenty megabytes in size, so some  people 
  3600.                  remove them before redistributing the demo.
  3601.               
  3602.                  
  3603.               
  3604.                  V - FIDO Password []
  3605.               
  3606.                  
  3607.               
  3608.                  This is the password that your BBS will require to be present in mail packets received from other 
  3609.                  FIDO systems.  This password  is NOT used during the logon procedure for remote FIDO nodes.  The 
  3610.                  purpose of this password is to validate packets that may  have been forwarded from a third party, not 
  3611.                  originated at a remote node with which you are communicating directly.  Nevertheless, whether the 
  3612.                  packets originate at a system which you contact directly, or are forwarded from some other source, they 
  3613.                  must have this password or your system will throw them away.  This prevents hackers from networking 
  3614.                  to you with an FTS-0001 mailer, which does not support password checking during logon, and sending 
  3615.                  your users counterfeit mail.  You can disable this checking by entering spaces in this field.
  3616.               
  3617.                  
  3618.  
  3619.               
  3620.  
  3621.  
  3622.  
  3623.  
  3624.  
  3625.               
  3626.                  W - Maximum Accounts per Phone Number [3]
  3627.               
  3628.                  
  3629.               
  3630.                  If you have enabled the "NT" command for callback account validation (see "PXP" command 
  3631.                  functions "D" and "E", and the "PX$" command for more details), then this parameter controls the 
  3632.                  number of accounts that can obtain access to your system using the "NT" command.  A value of 3 
  3633.                  might be a good choice if you anticipate that individual households might, for example, want to register 
  3634.                  accounts used by a husband, a wife, and one child.  You may set the value higher or lower depending 
  3635.                  on the specific situation for your BBS.  A value of zero means "no limit".
  3636.               
  3637.                  
  3638.               
  3639.                  X - Default FIDO Compression Procedure []
  3640.               
  3641.                  
  3642.               
  3643.                  Primitive FIDOnet compatible systems, which adhere strictly to the FTS-0001 specification do 
  3644.                  not identify themselves to each other when they exchange mail packets.  This makes it impractical to 
  3645.                  determine the type of data compression (ARC, ZIP, ARJ, etc..) that may be in use for mail packets.  If 
  3646.                  you plan to exchange FIDO mail packets with such a system, then you can talk with the operator of the 
  3647.                  system and determine the compression method he is using, if any.  Then write a batch procedure (a 
  3648.                  ".BAT" file if it executes in DOS mode or a ".CMD" file if it executes in OS/2 mode), and enter the  
  3649.                  name of that procedure file here.  Enter the file name and file name extension.  Bulletron will attempt to 
  3650.                  execute your procedure in DOS mode if the file name extension is ".BAT", or in OS/2 mode if it is 
  3651.                  ".CMD".  Do not enter any path information.  Bulletron will expect to find that file in the  directory 
  3652.                  from which the BBS was started.  The section, later, entitled "Compressing and Decompressing FIDO 
  3653.                  Packets" explains what commands you should put in this batch procedure.  That section also explains 
  3654.                  how you can override  the default for this parameter for specific FIDO nodes.
  3655.               
  3656.                  
  3657.               
  3658.                  Y - Default FIDO Decompression Procedure []
  3659.               
  3660.                  
  3661.               
  3662.                  This parameter is similar to option "X", above, except that it specifies the batch procedure used 
  3663.                  for decompressing mail packets when the identity of the node is unknown.
  3664.               
  3665.                  
  3666.               
  3667.                  Z - Maximum Tries for Callback [3]
  3668.               
  3669.                  
  3670.               
  3671.                  If you use the "NT" command for callback account validation, then this parameter specifies the 
  3672.                  number of times that the  phone number given by the user is re-dialed if re-connection  is not achieved 
  3673.                  on the first attempt.  This retry count is also used by the "NT" command when it is used to reverse the  
  3674.                  charges on a call rather than for account validation.
  3675.               
  3676.                  
  3677.               
  3678.                  0 - File Notification Sysop []
  3679.               
  3680.                  
  3681.               
  3682.                  If this parameter is not blank, it can be used to specify an account code that receives system 
  3683.                  generated messages notifying of file uploads and downloads.  Several other setup options can also 
  3684.                  affect the account that receives these  messages.  The complete order of precedence, when a file is 
  3685.                  uploaded to, or downloaded from, sub-board "xxx" is:
  3686.               
  3687.                  "SIGxxx"
  3688.               
  3689.               if that account does not exist, then
  3690.               
  3691.  
  3692.               
  3693.  
  3694.  
  3695.  
  3696.  
  3697.  
  3698.                  "ASYSxxx"
  3699.               
  3700.               if that account does not exist, then
  3701.               
  3702.                  "SYSxxx"
  3703.               
  3704.               if that account does not exist, then the account specified in "PXP", "0" (this parameter). If that account 
  3705.               does not exist, then "SYSOP"
  3706.               
  3707.                  
  3708.               
  3709.                  1 - VERIFYQU Response SYSOP []
  3710.               
  3711.                  
  3712.               
  3713.                  If this parameter is not blank, it can be used to specify an account code that receives responses to 
  3714.                  VERIFYQU questionnaires.  Several other setup options can also affect the account that receives these 
  3715.                  messages.  The complete order of precedence, when a new user sets up an account depends on the first 
  3716.                  sub-board that the new user can access, by sub-board number.  Assuming that a new user sees 
  3717.                  sub-board "xxx" as the first one that he can access after setting up his account, the complete order of 
  3718.                  precedence is:
  3719.               
  3720.                  "SIGxxx"
  3721.               
  3722.               if that account does not exist, then
  3723.               
  3724.                  "ASYSxxx"
  3725.               
  3726.               if that account does not exist, then
  3727.               
  3728.                  "SYSxxx"
  3729.               
  3730.               if that account does not exist, then the account specified in "PXP", "1" (this parameter). If that account 
  3731.               does not exist, then "SYSOP"
  3732.               
  3733.                  If you are using system passwords to automatically classify new callers into special interest 
  3734.                  groups, then you can set up your system so that the first (default) sub-board for each class of users is a 
  3735.                  SIG sub-board, and create "SIGxxx", "ASYSxxx" or "SYSxxx" accounts for each class, so that people 
  3736.                  helping you manage these classes receive the new account  applications directly in their private mail.
  3737.               
  3738.                  
  3739.               
  3740.                  2 - Wrap File Descriptions (Y/N)
  3741.               
  3742.                  
  3743.               
  3744.                  The default is "Y", which means that the text in file descriptions will be automatically line 
  3745.                  wrapped whenever a user executes an "F" command.  In some cases, you may want to disable this line 
  3746.                  wrap so that your system can display graphically formatted file descriptions.  Remember that, 
  3747.                  whichever mode you select will be used for all file  descriptions in your system.
  3748.               
  3749.                  
  3750.               
  3751.                  3 - Virus Scanning Procedure []
  3752.               
  3753.                  
  3754.               
  3755.                  If you leave this field blank, then the system performs no automatic virus checking for newly 
  3756.                  uploaded files.  You can place the name of a command procedure (batch) file in this field.  If the file 
  3757.                  name extension is ".BAT" then the system will try to execute it in a DOS session.  If it is ".CMD" or 
  3758.                  anything else, then the system will try to execute it in an  OS/2 session.  You can put any valid DOS 
  3759.                  batch file commands or OS/2 REXX commands in this procedure that you wish.
  3760.               
  3761.                  The BBS program will pass the following four parameters to your command procedure:
  3762.               
  3763.                  %1 - the fully qualified drive and path of the file to be tested;
  3764.  
  3765.               
  3766.  
  3767.  
  3768.  
  3769.  
  3770.  
  3771.               
  3772.                  %2 - the file name, with no extension, of the file to be  tested;
  3773.               
  3774.                  %3 - the file name extension of the file to be tested;
  3775.               
  3776.                  %4 - the account code of the person that uploaded the file.
  3777.               
  3778.                  %5 - the  task (line) number that the user is on.
  3779.               
  3780.                  The file name extension is delivered as a separate parameter from the file name for the benefit of 
  3781.                  DOS batch procedures.  With the OS/2 REXX command language, it is fairly simple to extract the file 
  3782.                  name extension to distinguish between ".ARC", ".ZIP", ".LZH", etc.., files.  In the event that you wish 
  3783.                  to execute an unpacking or virus checking program that is not yet available in an OS/2 protect mode 
  3784.                  version, this makes it easier for a DOS batch procedure to determine the unpacking method.  You can 
  3785.                  easily reassemble the full file  specification in a batch procedure using a syntax like
  3786.               
  3787.                  PKUNZIP %1\%2.%3 \TEMP\*.*
  3788.               
  3789.                  The user account code is delivered so that you can record the account code of the person that 
  3790.                  uploaded the file, if you  wish.  The line number is delivered as the fifth parameter so that your batch 
  3791.                  procedure can be written to distinguish files when two or more uploads happen simultaneously.
  3792.               
  3793.                  If the file fails the virus scan, or your procedure decides to reject the file for any other reason, 
  3794.                  then your batch procedure should simply delete the file. When your batch procedure terminates, the 
  3795.                  BBS program will check to see if the file is still there.  If it is not, then the BBS will warn the user that 
  3796.                  he uploaded a virus infected file and not give him credit for the upload.  The BBS program records a 
  3797.                  message in the system log every time that the virus checker deletes a file, recording the name of the file, 
  3798.                  the account code of the person that uploaded it, and the date and time of the event.
  3799.               
  3800.                  The ".CMD" or ".BAT" procedure that you write to perform virus checking can include 
  3801.                  commands to unpack archives, execute several virus checking programs, check for duplicate files, and 
  3802.                  repack archives with your BBS logo in the archive comments.  Be most certain that it does not change 
  3803.                  the name  of the file, however, or the BBS program will think that you deleted the file because it had a 
  3804.                  virus in it.  In other words, you can not change ".ZIP" files to ".ARJ" files using this procedure.
  3805.               
  3806.                  
  3807.               
  3808.                  4 - Force random messages below
  3809.               
  3810.                  
  3811.               
  3812.                  If you leave a space here, then users can disable all random messages, "RANDOM0" through 
  3813.                  "RANDOMZ" (see section 5.4.10).  If you want to prevent users from disabling some of the random 
  3814.                  messages, such as if you are selling advertising in those messages, you can place a numeral or a letter in 
  3815.                  this field.  A setting of "5" would force users to see "RANDOM0" through "RANDOM4".  A setting of 
  3816.                  "F" would force users to see "RANDOM0" through "RANDOME", and so forth.  A setting of "[" (left 
  3817.                  square bracket) would force users to see all the random messages.
  3818.               
  3819.                  5.4.7.  Setting Time Limits
  3820.               
  3821.                  Bulletron provides four access levels for each user account:
  3822.               
  3823.                      1.    A feature access level which determines which sub-boards, commands, and features he can 
  3824.                      access;
  3825.               
  3826.                      2.    A session time limit access level which determine how many minutes he can be online per 
  3827.                      session and per day;
  3828.               
  3829.                      3.    A chat time limit access level which determines how many  minutes he can spend chatting per 
  3830.                      session and per day; and 
  3831.               
  3832.                      4.    A download time limit access level which determines how many minutes he can spend 
  3833.                      downloading per session and per day.
  3834.               
  3835.                  Bulletron also counts time spent during prime time separately from non-prime time.  The hours 
  3836.                  that determine prime and nonprime time are defined in the subscriber parameters.  
  3837.  
  3838.               
  3839.  
  3840.  
  3841.  
  3842.  
  3843.  
  3844.               
  3845.                  You specify the time limits for the various access levels using the "PXT" command.  You can 
  3846.                  enter "P" at the main system prompt, select "X" from the Installation/Customization Menu, then select 
  3847.                  "T" on the Extended Features Menu, or save some time by just entering "PXT" at the main system 
  3848.                  prompt.  Figure 5.4.7-1 shows a typical example of an Bulletron time limits table:.
  3849.               
  3850.               
  3851.  
  3852.  
  3853.  
  3854.  
  3855.  
  3856.                  In this situation, we have set up six basic access levels.  We let unverified new users come on at 
  3857.                  10, verified nonsubscribers at 20, people who subscribe by expiration date at 100, people who subscribe 
  3858.                  by cents per minute at 200, company employees at 500, and system management at 1000.  To 
  3859.                  nonsubscribers (levels 10 and 20) we give a maximum session of 30 minutes (just enough to fill out the 
  3860.                  verify questionnaire and read the subscription rate notice).  For people who pay a flat monthly rate, we 
  3861.                  allow an hour of prime time and three hours non-prime time, but limit their prime time sessions to more 
  3862.                  than 45 minutes and their non-prime time sessions to no more that an hour and a half.  To premium 
  3863.                  subscribers, who pay by the minute, we let them stay on as long as they like.  Company employees and 
  3864.                  systems management staff also get unlimited time per day and per session.  People are only placed 
  3865.                  below level 10 as a punitive measure, whereby they are deemed "troublemakers" and not allowed to log 
  3866.                  on at all.
  3867.               
  3868.                  You may put extra, "in between", entries in the table to be  used for chat time limits or download 
  3869.                  time limits, as well as the  regular session time limits.  For instance, everyone in our table  above whose 
  3870.                  access level is between 100 and 199 gets four hours total per day.  You could make graduations of 109 
  3871.                  and 119 in the table that have total daily limits of 1 hour and two hours, and assign the values 110 and 
  3872.                  120 for chat time limit access levels.  A person with a session time limit access level of 100 and a chat 
  3873.                  time limit access level of 100 would have four hours total time per day, but only one hour of it could be 
  3874.                  spent chatting.  A person with a session time limit access level of 100 and a chat time limit access level 
  3875.                  of 110 would have two hours of chat per day.
  3876.               
  3877.                  To set or change any of the entries, enter the "entry number" that you want to change - 1 to 12.  
  3878.                  You will be prompted for the access level and times.  The "combined minutes/day" is the total time the 
  3879.                  user will be allowed online during the day regardless of  how much time was spent in primetime or 
  3880.                  nonprime time.  It may be  the sum of the prime and nonprime values, or it may be less.  The  access 
  3881.                  levels must be in ascending sequence.  Each access level entry in the table includes all users greater 
  3882.                  than the prior  entry, but less than or equal to the current entry.  An entry with zero in the access level 
  3883.                  field marks the end of the table if there are less than 12 entries used.  The system operator is always 
  3884.                  given 999 minutes per session and per day regardless of his access level.  
  3885.               
  3886.                  To list the table, enter "L" when prompted for the entry to change.  To delete an entry, just change 
  3887.                  the other entries so that they are ascending access levels.  When you are finished changing the table, 
  3888.                  enter "Q" to quit.
  3889.               
  3890.                  Note:  If a user is performing an "E", "MI", "U" or "G" command and his session times out, then 
  3891.                  he will not be disconnected until he finishes that command.  
  3892.               
  3893.                  5.4.8.  Subscriber Parameters
  3894.               
  3895.                  Most system operators will charge their users for accessing the BBS.  You can charge based on 
  3896.                  minutes connected, or by  expiration date, or a combination of both.  At the main system prompt, enter 
  3897.                  "PX" and then enter "$", or just enter "PX$" to get to the Subscriber Parameters Menu.  This menu 
  3898.                  allows you to change  those parameters relating to the time and financial aspects of a subscriber-based 
  3899.                  system.  
  3900.               
  3901.                  
  3902.               
  3903.                  Subscriber Parameter Menu
  3904.               
  3905.                  A - Subscriber logic (Y/N) [Y]
  3906.               
  3907.                  B - Method of timing (D)ate, (T)ime$, (M)inutes [D]
  3908.               
  3909.                  C - Activate billing logic (Y/N) [Y]
  3910.               
  3911.                  D - Prime time begins (HHMM) [1800]
  3912.               
  3913.                  E - Prime time ends   (HHMM) [2359]
  3914.               
  3915.                  F - Prime time rate (in cents) [200]
  3916.               
  3917.                  G - Non-prime time rate (in cents) [100]
  3918.               
  3919.                  I - Cents/Minutes subscriber access levels [100/100/100/100]
  3920.               
  3921.                  J - Date subscriber access levels [100/100/100/100]
  3922.  
  3923.               
  3924.  
  3925.  
  3926.  
  3927.  
  3928.  
  3929.               
  3930.                  K - Expired subscriber access level [10/10/10/10]
  3931.               
  3932.                  L - Max total time for nonsubs [180]
  3933.               
  3934.                  M - Sat/Sun prime/nonprime [P]
  3935.               
  3936.                  N - Nonsub Phone# [(619) 346-1608]
  3937.               
  3938.                  O - Subscribers only begin time (HHMM) [1800]
  3939.               
  3940.                  P - Subscribers only end time (HHMM) [2000]
  3941.               
  3942.                  U - Access Levels Assigned at Callback [20/20/20/20]
  3943.               
  3944.                  V - SIGs Assigned at Callback []
  3945.               
  3946.                  W - Flags Assigned at Callback []
  3947.               
  3948.                  X - Additional Minutes for First Call [60]
  3949.               
  3950.                  Y - Build ALLUSERS.TXT [N]
  3951.               
  3952.                  Z - Free Trial Days [7]
  3953.               
  3954.                  0 - Verify Access Level [100]
  3955.               
  3956.                  Q - Finished, update file
  3957.               
  3958.                  
  3959.               
  3960.                  The value in brackets ([]) is the current setting of the parameter.  The value in parentheses is the 
  3961.                  acceptable value or format of the parameter - HHMM means enter the hour and minute in 24-hour time.  
  3962.                  Enter the letter corresponding to the parameter that you want to change.  
  3963.               
  3964.                  
  3965.               
  3966.                  A - Subscriber logic
  3967.               
  3968.                  
  3969.               
  3970.                  This parameter enables or disables the subscriber logic.  Enter "Y" if you want your system to be 
  3971.                  a subscriber-based system or "N" if you are not charging users to use your system.  If you enable 
  3972.                  subscriber logic, then you do not need to update account records when a user's subscription runs out or 
  3973.                  when he renews his subscription.  Bulletron automatically raises and lowers the access level of an 
  3974.                  account for each individual session according to the parameters described below.
  3975.               
  3976.                  
  3977.               
  3978.                  B - Method of timing (D)ate, (T)ime$, (M)inutes
  3979.               
  3980.                  
  3981.               
  3982.                  Enter "D" if you will be charging your subscribers based on an expiration date, or enter "T" if you 
  3983.                  will be charging by  time (cents per hour).  When you charge by date, you will usually want to limit 
  3984.                  each user to some maximum number of  minutes per day, to avoid letting people "hog" the phone lines.  
  3985.                  In a single user system, it is best to charge by date since users may find it difficult to get on to a busy 
  3986.                  system during prime time.  On a multi-user system, however, it is best to charge by connect time since 
  3987.                  that method will discourage users from getting on in chat for long hours.  You set and update the 
  3988.                  expiration date or amount of money received into the user's record with the "+" command which is 
  3989.                  discussed later.
  3990.               
  3991.                  Bulletron also provides an additional method for billing:  "M" for minutes.  With this option, the 
  3992.                  system operator can put the number of MINUTES that a user can be online into the "cents remaining" 
  3993.                  field of the user's record.  When the time  falls below 2 hours, the system automatically sends the user a 
  3994.                  warning.  It sends a different warning when his remaining connect time goes below one hour.  You 
  3995.  
  3996.               
  3997.  
  3998.  
  3999.  
  4000.  
  4001.  
  4002.                  write the warning messages in messages posted to pseudo-account codes of  "2HOUR" and "1HOUR" 
  4003.                  on your "utilities" sub-board.  The  "2HOUR" and "1HOUR" messages are also sent for the "T" method 
  4004.                  of billing.  
  4005.               
  4006.                  Bulletron also supports DUAL billing.  This means that some  subscribers can be billed by date 
  4007.                  while others are billed by  cents or minutes.  If the user's date has expired but his cents/minutes 
  4008.                  remaining are nonzero, then Bulletron assumes this subscriber will be billed based on cents/time, and 
  4009.                  the minimum cents/minutes subscriber access levels (see option "I", below) are applied to his account 
  4010.                  when he logs on.  If  the user's cents/minutes is zero, but his expiration date is still in the future, then 
  4011.                  Bulletron assumes he is a subscriber by date, and the minimum date subscriber access levels (see  
  4012.                  option "J", below) are applied to his account when he logs on.  If a user's cents/minutes is nonzero AND 
  4013.                  his expiration date is still in the future, then the minimum cents/minutes subscriber access levels are 
  4014.                  applied to his account when he logs on.  Once a user has expired, however, Bulletron does not know 
  4015.                  whether he has expired based on time/cents or by date, so therefore there is only one "expired access 
  4016.                  level", defined in option "K", below.  
  4017.               
  4018.                  To use this DUAL billing facility, set the method of billing to "S" to have a mixture of cents and 
  4019.                  date, or set the method of billing to "L" to have a mixture of minutes and date.  "S" would be combining 
  4020.                  the "D" and "T" options, "L" would be combining the "D" and "M" options.  
  4021.               
  4022.                  
  4023.               
  4024.                  C - Activate billing logic (Y/N)
  4025.               
  4026.                  
  4027.               
  4028.                  This option allows you to temporarily suspend the deducting of money or minutes from account 
  4029.                  balances.  If you are a subscriber system charging by minutes or cents (as opposed to by date), you 
  4030.                  would normally want this parameter set to "Y"  so that the time or cents would be deducted from the 
  4031.                  user's  account when he logs off.  You may want to have a subscriber-based system but still want to turn 
  4032.                  off the  billing logic as a promotion (if you wanted to not charge  subscribers on Christmas, for 
  4033.                  example).  If you do not want  Bulletron to deduct from a subscribers account, set this parameter to "N".  
  4034.               
  4035.                  
  4036.               
  4037.                  D - Prime time begins (HHMM)
  4038.               
  4039.                  
  4040.               
  4041.                  You can separate the day into prime and non-prime time to charge different rates and encourage 
  4042.                  users to call during less busy periods.  Define the start of the prime time period here (in 24 hour time).  
  4043.                  Most BBS's are busy from 6:00 PM to midnight so you would enter 1800 for 6:00 PM.
  4044.               
  4045.                  
  4046.               
  4047.                  E - Prime time ends (HHMM)
  4048.               
  4049.                  
  4050.               
  4051.                  Enter the time when the prime time period is to end.  If it ends at midnight, you can either enter 0 
  4052.                  or 2359 here.  Entering zero means that prime time will begin at the prime time above and last for the 
  4053.                  remainder of the day.  There is no problem with making the prime time period go through midnight, as 
  4054.                  in 7:00 PM to 1:30 AM, for instance.
  4055.               
  4056.                  
  4057.               
  4058.                  F - Prime time rate (in cents)
  4059.               
  4060.                  
  4061.               
  4062.                  This is the rate, in cents per hour, that will be charged to the user during prime time.  The BBS 
  4063.                  will calculate to the  nearest penny when calculating the charge.  The number should be an integer in 
  4064.                  cents -- if you are charging $2.00 per hour, enter 200 here.  At the change point between non-prime and 
  4065.                  prime, or vice versa (see options "D" and "E", above), Bulletron automatically recomputes account 
  4066.                  balances and updates the disk records for all users currently logged on when prime time begins or ends.
  4067.               
  4068.  
  4069.               
  4070.  
  4071.  
  4072.  
  4073.  
  4074.  
  4075.                  
  4076.               
  4077.                  G - Non-prime time rate (in cents)
  4078.               
  4079.                  
  4080.               
  4081.                  This is the rate, in cents per hour, that will be charged to the user during non-prime time.  The 
  4082.                  BBS will calculate to the nearest penny when calculating the charge.  The number  should be an integer 
  4083.                  in cents -- if you are charging $1.25 per hour, enter 125 here.  
  4084.               
  4085.                  
  4086.               
  4087.                  I - Cents/Minutes Minimum subscriber access level
  4088.               
  4089.                  
  4090.               
  4091.                  If a subscriber logs on and his access level is less than this value, then his level will 
  4092.                  TEMPORARILY be set to this value for the session.  This means you don't have to set and reset every 
  4093.                  user's access level if they change from being a subscriber to nonsubscriber.  The four values controlled 
  4094.                  are  the feature access level, the session time limit access level, the chat time limit access level, and the 
  4095.                  download time limit access level.  These values apply to users who have a nonzero cents/minutes 
  4096.                  remaining value in their record.  See billing methods "T", "M", "S" and "L" for option "B", above.  
  4097.               
  4098.                  
  4099.               
  4100.                  J - Date Minimum subscriber access level
  4101.               
  4102.                  
  4103.               
  4104.                  If a subscriber logs on and his access level is less than this value, then his level will 
  4105.                  TEMPORARILY be set to this value for the session.  This means that you don't have to set and reset 
  4106.                  every user's access level if they change from being a subscriber to nonsubscriber.  The four values 
  4107.                  controlled are feature access level, the session time limit access level, the chat time limit access level, 
  4108.                  and the download time limit access level.  These values apply to users who have a future expiration 
  4109.                  date in their record.  See billing methods "D", "S" and "L" for option "B", above.  
  4110.               
  4111.                  
  4112.               
  4113.                  K - Expired subscriber access level
  4114.               
  4115.                  
  4116.               
  4117.                  If a subscriber's account expires, regardless of whether he was a subscriber by date or 
  4118.                  cents/minutes, then Bulletron will set his access levels to these values.  This provides a way for verified 
  4119.                  accounts to have an access level above the default but less than that of a full subscriber.  
  4120.               
  4121.                  
  4122.               
  4123.                  L - Max total time for nonsubs
  4124.               
  4125.                  
  4126.               
  4127.                  This is the total number of minutes (for systems that bill by cents/minutes) or the total number of 
  4128.                  days (for systems that bill by expiration date) that a nonsubscriber is allowed  online before either 
  4129.                  becoming a subscriber.  If his total  time exceeds this value, then the "FREELOAD" message will be 
  4130.                  displayed during logon.  The "FREELOAD" message will only display to users with an access level 
  4131.                  less than the minimum subscriber feature access level (see options "I" and "J", above).  
  4132.               
  4133.                  
  4134.               
  4135.                  M - Sat/Sun prime/nonprime
  4136.               
  4137.                  
  4138.               
  4139.                  If you want Saturday and Sunday to always be considered "prime" time for billing purposes, then 
  4140.                  enter "P".  If you want the weekends to always be "nonprime" time regardless of the hour, then enter 
  4141.  
  4142.               
  4143.  
  4144.  
  4145.  
  4146.  
  4147.  
  4148.                  "N".  If you want prime/nonprime to depend on the actual hour even though it is a weekend, then enter 
  4149.                  "X".  In subscriber-based systems, set the log option (command "PP" option "C") to 1 to maintain an 
  4150.                  audit trail of time/money in user accounts.  This will allow you to list all activity on a particular account 
  4151.                  with BBUTIL2 if the user questions his account balance.  
  4152.               
  4153.                  
  4154.               
  4155.                  N - Nonsubscriber phone#
  4156.               
  4157.                  
  4158.               
  4159.                  If you are running a subscriber system and a nonsubscriber calls one of the phone lines which you 
  4160.                  have marked as being for subscribers only (with the "IL" command), then the  nonsubscriber will be 
  4161.                  directed to call this telephone number.  In some instances, you may want to put the number of  a rival 
  4162.                  BBS here!  
  4163.               
  4164.                  
  4165.               
  4166.                  O - Subscribers only begin time (HHMM)
  4167.               
  4168.                  
  4169.               
  4170.                  If you want to limit the system during certain periods (such as the busy hours of 6pm to 10pm), 
  4171.                  set the starting time for that period here (in 24 hour time).  Therefore if you wanted only subscribers to 
  4172.                  get on between 6:00 PM and 10:00 PM, then set this value to 1800.
  4173.               
  4174.                  
  4175.               
  4176.                  P - Subscribers only end time (HHMM)
  4177.               
  4178.                  
  4179.               
  4180.                  This is the end of the subscribers only period.  If the period ends at 10:00 PM, then enter 2200 
  4181.                  here.
  4182.               
  4183.                  
  4184.               
  4185.                  U - Access Levels Assigned at Callback [20/20/20/20]
  4186.               
  4187.                  
  4188.               
  4189.                  The four numbers specified for this option are the feature access level, time limit access level, 
  4190.                  download time limit access level and chat time limit access level, respectively, that are assigned to a 
  4191.                  user's account when he successfully completes callback validation using the "NT" command.  You will 
  4192.                  usually set the feature access level here higher than the default feature access level ("PP" command, 
  4193.                  option "G"), to give the user additional privileges as an incentive to register his phone number using the 
  4194.                  "NT" command.  At the same time, you will set the feature access level for this option lower than the 
  4195.                  feature access level for paid subscribers ("PX$" command option "I" or "J").  By setting the maximum 
  4196.                  access level for the "NT" command ("PXP" command, option "E") higher than the feature access level 
  4197.                  specified here, you can prevent users from using the "NT" command to validate their account more than 
  4198.                  once.
  4199.               
  4200.                  
  4201.               
  4202.                  V - SIGs Assigned at Callback []
  4203.               
  4204.                  
  4205.               
  4206.                  This setup option allows you to specify up to ten SIGs that your system will automatically assign 
  4207.                  to a new user when he successfully completes callback validation using the "NT" command.  You 
  4208.                  specify these  by simply typing three letter sub-board abbreviation codes one after the other.  For 
  4209.                  instance, if you want to automatically give access to the "CAM" and "STM" special interest group 
  4210.                  sub-boards, then you would enter "CAMSTM" here.  In normal operation, the "+3" command is used 
  4211.                  for modifying a user's SIG access list.
  4212.               
  4213.                  
  4214.  
  4215.               
  4216.  
  4217.  
  4218.  
  4219.  
  4220.  
  4221.               
  4222.                  W - Flags Assigned at Callback []
  4223.               
  4224.                  
  4225.               
  4226.                  This setup option allows you to specify up to ten flags that your system will automatically assign 
  4227.                  to a new user when he successfully completes callback validation using the "NT" command.  The 
  4228.                  meanings of these special one letter flags are defined under the "+4" command, which is normally used 
  4229.                  for setting and changing them.
  4230.               
  4231.                  
  4232.               
  4233.                  X - Additional Minutes for First Call [60]
  4234.               
  4235.                  
  4236.               
  4237.                  This value is added to a user's session time limit for his very first call.  You  can use this to give 
  4238.                  first time users extra time to become familiar with your system.  You can set it to zero if you do not 
  4239.                  wish to give extra time on the first call.  Occasionally, users make abuse this feature by setting up 
  4240.                  multiple new accounts to take advantage of the free bonus, but in most cases, this bonus time will be 
  4241.                  important to all first time users to fill out the new account application questionnaire.
  4242.               
  4243.                  
  4244.               
  4245.                  Y - Build ALLUSERS.TXT [N]
  4246.               
  4247.                  
  4248.               
  4249.                  If you use option "6" of the "PXP" command to make the system automatically build an ASCII 
  4250.                  text file containing descriptions of all the files that your system has available for download, then you 
  4251.                  can set this option to "Y" to make it also build a file of all the user accounts in the same directory.  
  4252.                  Setting this option to "N" will prevent the "ALLUSERS.TXT" file from being built each day.  If you 
  4253.                  place spaces in option "6" of the "PXP" command, instead of a four character path-id, then the 
  4254.                  automatic building of the "ALLFILES.TXT" and "ALLUSERS.TXT" files will both be disabled.
  4255.               
  4256.                  
  4257.               
  4258.                  Z - Free Trial Days [7]
  4259.               
  4260.                  
  4261.               
  4262.                  If you are using the "NT" command for callback validation, to allow new users to increase their 
  4263.                  access level by registering their phone number, then you can also give the user a specified number of 
  4264.                  days of  full subscriber access using this option.  This function can only be used if your system bills by 
  4265.                  date, or by some combination of date and cents or minutes.  It has the same effect as using the "+B" 
  4266.                  command to set the user's expiration date the specified number of days in the future.
  4267.               
  4268.                  
  4269.               
  4270.                  0 - Verify Access Level [100]
  4271.               
  4272.                  
  4273.               
  4274.                  Accounts with a feature access level less than this access level are invisible to everyone except 
  4275.                  the system operator. This prevents jokers from setting up accounts with a personal description like, "Hi!  
  4276.                  I'm Joe Smith and I work at a day camp and LOVE to play with little boys!", etc.., which tends to bring 
  4277.                  law suits from Joe Smith when he sees your system publishing it.  If the default feature access level for 
  4278.                  new users is below this level, then no one except the SYSOP knows that a user is on the system unless 
  4279.                  the user has been verified by the SYSOP.  If the new user's access level is less than the verified access 
  4280.                  level, he will not display to other users in any "W" or "WO" command, he cannot receive mail or chat 
  4281.                  calls from other users, and is generally "invisible" to anyone except the SYSOP.  Raising his access 
  4282.                  level to the verified access level or higher will allow him to function like all the other users.  
  4283.               
  4284.                  5.4.9.  User Classes and Special Interest Groups
  4285.               
  4286.                  A single installation of Bulletron Professional BBS Software for OS/2 can be subdivided into 
  4287.  
  4288.               
  4289.  
  4290.  
  4291.  
  4292.  
  4293.  
  4294.                  user "classes"; that is separate, disjoint sets of users which are not aware of each others' presence on the 
  4295.                  system.  A single character code is used to identify each user class.  This character may be a letter ("A" 
  4296.                  - "Z") or a numeral ("0" - 9"), providing 36 distinct classes in all.
  4297.               
  4298.                  You, as the system operator, designate the class to which each user belongs by setting the class 
  4299.                  code in his user account record, using the "+D" command.  If you do not use the "+D" command to 
  4300.                  deliberately set a class code for any user, then the system defaults to a class code of " " (space 
  4301.                  character).  Users with a class code of " " can not see, exchange mail with, or chat with users which 
  4302.                  have a non-space class code.  You can also assign a class code of "?" (question mark).  Users which 
  4303.                  have a question mark class code can see, exchange mail with, and chat with, users in any class.
  4304.               
  4305.                  Using the system passwords feature, you can have the system automatically assign classes to 
  4306.                  users when they set up their accounts.  To enable this feature, you must use function "S" of  the 
  4307.                  Extended Features Menu to define the system passwords that you wish to recognize.  You can access 
  4308.                  this function by entering "PX" from the main system prompt ("What next?"), then entering "S" when 
  4309.                  the Extended Features Menu appears, or you can save time by  entering "PXS" directly from the main 
  4310.                  system prompt.
  4311.               
  4312.                  Each system password carries ten pieces of information:
  4313.               
  4314.                  Password Sequence Number - is a two digit code that identifies the system password record.  You 
  4315.                  can define up to 100 different system passwords for various combinations of access levels, SIG 
  4316.                  sub-boards and class.
  4317.               
  4318.                  System Password - is the string of characters that the new user must enter to automatically 
  4319.                  become a member of the group associated with that system password.
  4320.               
  4321.                  Access Level - is the default feature access level assigned to a user who enters that system 
  4322.                  password.  This access level controls access to sub-boards, file directories, and various commands.
  4323.               
  4324.                  Session Time A/L - is the default time limit access level assigned to a user who enters that system 
  4325.                  password.  This access level is compared to time limits defined by the "PXT" command to set limits on 
  4326.                  the number of minutes per session and per day that a user can be on-line.
  4327.               
  4328.                  Chat Time A/L - is the default chat time limit access level assigned to a user who enters that 
  4329.                  system password.  This access level is compared to time limits defined by the "PXT" command to set 
  4330.                  limits on the number of minutes that a user can use the chat functions per session and per day.
  4331.               
  4332.                  Download Time A/L - is the default download time limit access level assigned to a user who 
  4333.                  enters that system password.  This access level is compared to time limits defined by the "PXT" 
  4334.                  command to set limits on the number of minutes that a user can use the download functions per session 
  4335.                  and per day.
  4336.               
  4337.                  SIGs Accessible - Whatever you put in this field is placed in the SIG list of a user account when 
  4338.                  he enters that system password, just as if you had updated his account record using the "+3" command.
  4339.               
  4340.                  Class - is automatically placed in the user's class field when he enters that system password, just 
  4341.                  as if you had updated his account using the "+D" command.
  4342.               
  4343.                  VERIFYQU Name - is a pseudo account code that you plan to use to identify a message on your 
  4344.                  "Utilities" sub-board that will be used in place of the "VERIFYQU" message as a new account 
  4345.                  application when a user enters that system password.  This allows you to ask questions pertinent only to 
  4346.                  that special set of users when they set up their accounts.
  4347.               
  4348.                  WELCOME Name - is a pseudo account code that you plan to use to identify a message on your 
  4349.                  "Utilities" sub-board that will be used in place of the "WELCOME" message when a user enters that 
  4350.                  system password.  This allows you to give special instructions to different groups of users to help them 
  4351.                  find the services that interest them most quickly.
  4352.               
  4353.                  NEWUMSG Name - is a "pseudo account code that you plan to use to identify a message on your 
  4354.                  "Utilities" sub-board that will be used in place of the "NEWUMSG" when a user enters that system 
  4355.                  password.  This allows you to generate special welcoming mail to different groups of users.
  4356.               
  4357.                  You enable the system passwords feature of Bulletron by executing the "PP" command and 
  4358.                  placing something in option "M".  If  you place "*" in field "M", then the system will allow a new user 
  4359.                  to enter anything at all as a system password, and the system will only assign special privileges to a 
  4360.  
  4361.               
  4362.  
  4363.  
  4364.  
  4365.  
  4366.  
  4367.                  new user account if what he  enters matches one of your defined system passwords.  
  4368.               
  4369.                  If you enter "#" in field "M" of the "PP" command, then the system will only accept passwords 
  4370.                  that you have defined using the "PXS" command.  If a user enters something other than a system 
  4371.                  password that you have defined, then the system displays the  "BADPSWRD" message from your 
  4372.                  "Utilities" sub-board as a menu of system passwords from which he can choose.  If you wish to prevent 
  4373.                  new users from setting up accounts if they do not know one of your system passwords, then you can 
  4374.                  place some kind of an error message in the "BADPSWRD" message instead of a menu.
  4375.               
  4376.                  If you place something other than "*" or "#" in field "M" of the "PP" command, then the system 
  4377.                  will require new users to enter that string before they can set up an account on your system, and it will 
  4378.                  not automatically assign anything.  The "BADPSWRD" message should be used as an error message in 
  4379.                  this case.
  4380.               
  4381.                  If you wish to have helpers to process new account applications ("VERIFYQU" responses) for 
  4382.                  different groups of new users, when using the "*" or "#" options, above, then should set up your 
  4383.                  sub-boards (using the "PB" command) so that each different group of new users sees a different 
  4384.                  sub-board when they first enter your system.  You can control this by making SIG sub-boards with low 
  4385.                  sequence numbers, so that the first sub-board seen by each group of new users is a SIG sub-board 
  4386.                  determined by the  system password that they entered.  Then you can set up accounts of the form 
  4387.                  "SIGxxx", where "xxx" is the three character abbreviation for the first sub-board seen by each group.  
  4388.                  The  "VERIFYQU" responses for each sub-board, "xxx" will be routed to private mail for the "SIGxxx" 
  4389.                  account, automatically.
  4390.               
  4391.                  If you wish your SIG operators to have more privilege than average users, then you can set up 
  4392.                  their accounts as "ASYSxxx", or "SYSxxx" to give them assistant system operator privileges, or full 
  4393.                  system operator privileges, respectively.  When a new user completes a "VERIFYQU" questionnaire, 
  4394.                  the resulting message will be sent to the "SIGxxx" account, where "xxx" is the three character 
  4395.                  abbreviation for the sub-board that the user has selected at the time.  If a "SIGxxx" account can not be 
  4396.                  found, then the system tries to send it to "ASYSxxx".  If an "ASYSxxx" account can not be found, then 
  4397.                  the system tries to send it to "SYSxxx".  If a "SYSxxx" account can not be found, then the system tries 
  4398.                  to send it to a special account that you can designate using the "PXP" command, option "1".  If option 
  4399.                  "1" of the "PXP" command is blank, or the account specified there does not exist, then the  system 
  4400.                  sends it to "SYSOP".  This scheme was implemented to parallel a corporate chain of command 
  4401.                  paradigm, where "SYSOP" would be the company president, "PXP" option "1" would be the vice 
  4402.                  president, the "SYSxxx" accounts would be the executive vice  presidents, the "ASYSxxx" accounts 
  4403.                  would be the department managers, and the "SIGxxx" accounts would be the unit managers.
  4404.               
  4405.                  As a side effect of using system passwords for new accounts, Bulletron keeps a tally of the 
  4406.                  number of times that each system password is successfully used, and you can use the BBUTIL2 
  4407.                  program to print out a report of these tallies.  This allows you, if you place different system passwords 
  4408.                  in different advertisements for your system, but give them all the same privilege, to evaluate the 
  4409.                  effectiveness of different ads.
  4410.               
  4411.                  Another method of separating users into different classes, independent of the class codes on 
  4412.                  accounts, is to enter one of  your sub-board abbreviations into option "N" of the "PXP" menu. Users 
  4413.                  that have this sub-board abbreviation in their account record's SIG list will be kept separate from those 
  4414.                  that do not. This can be useful in a matchmaking or dating service bulletin board where separating gay 
  4415.                  and straight users makes the system work better.
  4416.               
  4417.                  5.4.10. Customizing Menus, Help Messages and Prompts
  4418.               
  4419.                  Almost all of the menus, help messages, and user-visible prompts in Bulletron can be changed by 
  4420.                  the SYSOP.  In addition, there are separate menus displayed when the user selects ANSI graphics or 
  4421.                  RIP graphics.  The menus are stored in messages on your "utilities" sub-board.  The ANSI equivalents 
  4422.                  are named just like the ASCII versions except that the names are prefixed with the letter "A", and the 
  4423.                  RIP equivalents are named just like the  ASCII versions except that the names are prefixed with the 
  4424.                  letter "R".  For example, the menu for the "W" command is called "MENUW", the ANSI menu for the 
  4425.                  "W" command is called "AMENUW", and the RIP menu for the "W" command is called "RMENUW".  
  4426.                  This section gives you detailed list of all the special messages and menus.  
  4427.               
  4428.                  The main command menu has an ASCII name, "MENU", an ANSI name of "AMENU", and a 
  4429.                  RIP name of "RMENU", like the submenus.  Unlike the submenus, however, if "MENU", "AMENU" 
  4430.                  or "RMENU" is not present, then Bulletron will construct the main menu based on what commands the 
  4431.                  user has access to on that particular sub-board.  For this reason, it is common to let Bulletron display 
  4432.                  the main command menu rather than being SYSOP supplied.  If Bulletron constructs the  menu, it will 
  4433.  
  4434.               
  4435.  
  4436.  
  4437.  
  4438.  
  4439.  
  4440.                  only show the features that the user can access or the features which are available on a particular 
  4441.                  sub-board.  If "MENU", "AMENU" or "RMENU" is used, then all features will show and the selective 
  4442.                  display will not occur.  
  4443.               
  4444.                  The special messages on your "utilities" sub-board are identified by a key word in the "TO" 
  4445.                  account field.  For example, assume you wanted a message to display every time a user logs on.  There 
  4446.                  is a special message for this called the Message-of-the-Day.  It has a key word of "MOTD".  To create 
  4447.                  such a message, you can.
  4448.               
  4449.                  Select the "utilities" sub-board and enter "E MOTD".  Then, enter the message online as you 
  4450.                  would any message.  If there is already an "MOTD", then use "RA MOTD" to read the old one, then 
  4451.                  delete it, before entering the new one.  You can delete a message by simply reading it and using the "D" 
  4452.                  command at the end of the message., or
  4453.               
  4454.                  Create the message off line with your word processor, select the "utilities" sub-board, and enter 
  4455.                  "E@ MOTD".  The "@" in the "E@" will cause the system to ask you for a file name.  Enter the name 
  4456.                  of the text file which you created off line.  The file must not be larger than a standard message and must 
  4457.                  not contain any embedded word processor commands.  NOTE:  be sure the text file is in the same 
  4458.                  drive/directory as Bulletron.  Be sure you enter "E@ MOTD", not "E@ MOTD.UTL" -- enter the 
  4459.                  special message name, not the file name; Bulletron will prompt for the file name in a later question, or
  4460.               
  4461.                  Create the message off line with your text editor, but name the file "MOTD.UTL".  Now use the 
  4462.                  BBUTIL2 utility program, menu function "H", to load all files with extension ".UTL" into your 
  4463.                  "utilities" sub-board, replacing those that are already there.  The BBUTIL2 program deletes any 
  4464.                  existing copies of the special messages from the "utilities" sub-board, and saves them in files with file 
  4465.                  name extensions of ".001".  If ".001" files already exist in the BBS directory, then the BBUTIL2 
  4466.                  program uses ".002", then ".003", and so forth.  You must use this method if the PROMPTn messages 
  4467.                  get deleted, because you will not receive a logon prompt if these are gone.  This method is preferred to 
  4468.                  the former two because the BBUTIL2 program will automatically generate additional messages and 
  4469.                  link them to the main message if you load a file that is longer than 9,000 bytes.  The BBUTIL2 
  4470.                  program also concatenates linked messages back into single files when it saves the old messages.
  4471.               
  4472.                  The easiest way to create ANSI menus, logos, and screens is with shareware programs like 
  4473.                  THEDRAW or ANSIDRAW.  You can generally find both of these on hobby BBS's in your local area 
  4474.                  or  download them from our tech support BBS.  You can either start with the "*.UTL" files that we 
  4475.                  supply in the PROMPTV9.ZIP file and  edit those, or read the messages on your "utilities" sub-board, 
  4476.                  using a command such as such as "RA MOTD", and at the end of each message enter "%" to create a 
  4477.                  disk file from the message.  Be sure  that you remove the header lines at the top if you use the latter 
  4478.                  method.  
  4479.               
  4480.                  Once you have the message off-line in a file, use THEDRAW or ANSIDRAW to edit or 
  4481.                  completely redraw the logo or menu.  When you  save the file, save it twice, first as an ANSI file, and 
  4482.                  then as an ASCII file.  If the screen you are changing is the  Message-of-the-Day, then you would name 
  4483.                  the ANSI file "AMOTD.UTL", and name the ASCII version "MOTD.UTL".  Use a text editor on both 
  4484.                  files to remove any trailing blank lines at the end of the file.  You want to limit your screens to 20 lines 
  4485.                  or less to keep the top lines from scrolling off the top of the user's screen.  Using names like 
  4486.                  "MOTD.UTL" and "AMOTD.UTL" allows you to use the BBUTIL2 program to quickly replace the 
  4487.                  old messages.  
  4488.               
  4489.                  RIP graphic screens should be prepared off-line using the  "RIPPAINT" program from 
  4490.                  TeleGrafix Communications Inc.
  4491.               
  4492.                  Here is a list of Bulletron's special messages explaining how they are used by the system:
  4493.               
  4494.                      1HOUR    For subscribers being billed by cents or minutes, Bulletron displays this 
  4495.                      message to the user during logon when his account balance has fallen below 
  4496.                      60 minutes remaining.  "A1HOUR" is the ANSI equivalent.  "R1HOUR" is 
  4497.                      the RIP equivalent.  "1HOUR" is used for ANSI or RIP sessions if you don't 
  4498.                      make an "A1HOUR" or "R1HOUR" message.  No warning is given to 
  4499.                      subscribers with less than one hour remaining if you don't make either 
  4500.                      message.              
  4501.               
  4502.                      2HOUR    For subscribers being billed by cents or minutes, Bulletron displays this 
  4503.                      message to the user during logon when his account balance has fallen below 
  4504.                      120 minutes remaining, but has more than 60 minutes remaining. "A2HOUR" 
  4505.                      is the ANSI equivalent.  "R2HOUR" is the RIP equivalent.  "2HOUR" is used 
  4506.  
  4507.               
  4508.  
  4509.  
  4510.  
  4511.  
  4512.  
  4513.                      for ANSI or RIP sessions if  you don't make an "A2HOUR" message.  No 
  4514.                      warning is given  to subscribers with less than two hours, but more than one 
  4515.                      hour, remaining if you don't make either message.              
  4516.               
  4517.                      1WEEK    For  subscribers being billed by date, Bulletron displays this message to the 
  4518.                      user during logon when he has less than one week remaining.  "A1WEEK" is 
  4519.                      the ANSI equivalent.  "R1WEEK" is the RIP equivalent.  "1WEEK" is  used 
  4520.                      for ANSI or RIP sessions if you don't make an "A1WEEK" message.  No 
  4521.                      warning is given to subscribers  with less than one week remaining if you 
  4522.                      don't make  either message.              
  4523.               
  4524.                      2WEEK    For subscribers being billed by date, Bulletron displays this message to the 
  4525.                      user during logon when he has less than two weeks, but more than one week, 
  4526.                      remaining.  "A2WEEK" is the ANSI equivalent.  "R2WEEK" is the RIP 
  4527.                      equivalent.  "2WEEK" is used for ANSI or RIP sessions if  you don't make an 
  4528.                      "A2WEEK" message.  No warning is given to subscribers with less than two 
  4529.                      weeks, but more than one week, remaining if you don't make either message.              
  4530.               
  4531.                      ATHOME   This message will display to the user during logon if  you have enabled 
  4532.                      SYSOP chat in the Control Window.  It is used to tell the user that the 
  4533.                      SYSOP is there and available to provide assistance.              
  4534.               
  4535.                      BADWORDS     This message, if present, contains a list of words or phrases which you do 
  4536.                      NOT want used in user's accounts, name/handles, city, 3-line personal 
  4537.                      descriptions or public chat.  Public and private messages are not checked for 
  4538.                      these  words.  The format of the message is one word per line. The list could 
  4539.                      fill an entire message, but it would take some time to compare each word in 
  4540.                      the user information with such a large glossary.  You may find it necessary to 
  4541.                      begin some words with a space character, as in "ASS", which could be part of 
  4542.                      many legitimate words like "class" or "Massachusetts".              
  4543.               
  4544.                      BADPSWRD If a system password is required for new user logon and an incorrect 
  4545.                      password is entered, then this message is displayed if present.  If you are 
  4546.                      using the system password facility to automatically set SIGs and access levels 
  4547.                      for new users, you can use this message to present the new user with a menu 
  4548.                      of system passwords.              
  4549.               
  4550.                      BINTxxx  Board introduction for sub-board "xxx". If this message is present for a 
  4551.                      particular sub-board, it will be  displayed every time that a user selects that 
  4552.                      sub-board.  It is used to give the user an introduction to the board and to 
  4553.                      notify him of the contents, purpose, or rules of  each sub-board.  The ANSI 
  4554.                      equivalent message is "ABINTxxx".  The RIP equivalent message is 
  4555.                      "RBINTxxx".  The "BINTxxx" message is used for ANSI or RIP sessions if it 
  4556.                      is present, but the "ABINTxxx" or "RBINTxxx" message is not.              
  4557.               
  4558.                      CHATMACS This is a special message that defines macros that people can use in public 
  4559.                      chat.  The format of this message is a series of short message definitions 
  4560.                      separated by asterisks ("*").  Begin each definition with an asterisk, followed 
  4561.                      immediately by a one word macro name.  After the one word macro name, 
  4562.                      put one or more spaces, then the body of the message.  The body of the 
  4563.                      message can contain the following special substitution codes:              
  4564.               
  4565.                               %M   inserts the account code of the user sending the macro message at 
  4566.                               that point.              
  4567.               
  4568.                               %T   inserts the current time  at that point.              
  4569.               
  4570.                               %D   inserts the current date at that point.              
  4571.               
  4572.                               %S   inserts the account code of the person to whom the macro message 
  4573.                               is being sent if it is being sent to just one user, or "ALL" if it is 
  4574.                               being broadcast to everyone in that chat channel.              
  4575.               
  4576.                               %1   inserts  an argument that the user can supply after the macro 
  4577.                               message name , which will usually be the account code of another 
  4578.                               user in that chat channel.              
  4579.  
  4580.               
  4581.  
  4582.  
  4583.  
  4584.  
  4585.  
  4586.               
  4587.                               %2   inserts a second argument at that point if the user provides one..              
  4588.               
  4589.                               %3   inserts a third argument at that point if the user provides one.              
  4590.               
  4591.                     An example of a "CHATMACS" message might be:              
  4592.               
  4593.               
  4594.               
  4595.                  *KISS   %M gives %1 a big, wet kiss right on the lips!
  4596.               
  4597.                  *SLAP   %M slaps %1 smartly across the left cheek.
  4598.               
  4599.                  *CAT    This "%1%2%3" is a concatenation of the three arguments.
  4600.               
  4601.                  *LONG   This is a
  4602.               
  4603.                   really long macro.   It
  4604.               
  4605.                   shows the time and date %T, like that
  4606.               
  4607.                   and my account code, %M!
  4608.               
  4609.                  
  4610.               
  4611.                               As you can see from the example, chat macro messages can be arbitrarily 
  4612.                      long and can span lines.  The asterisk character is what separates one macro 
  4613.                      message from another.  The entire collection of macro message definitions, 
  4614.                      however, must fit within a single Bulletron 9,000 character message.  Users 
  4615.                      invoke chat macros in public chat by entering "//name" on a blank line, where 
  4616.                      "name" is the name of the macro.  For example, user "JOCELYN" might 
  4617.                      enter:              
  4618.               
  4619.                  //KISS BERNIE
  4620.               
  4621.                  and  everyone in that chat channel would see
  4622.               
  4623.                  JOCELYN gives BERNIE a big, wet kiss right on the lips!
  4624.               
  4625.                  JOCELYN could also send this message to BERNIE privately by invoking the macro with "/\" 
  4626.                  instead of "//", then placing BERNIE's account code right after the macro name, as in:
  4627.               
  4628.                  /\KISS BERNIE BERNIE
  4629.               
  4630.                  Note that "BERNIE" is specified twice - the first time to indicate who is to receive the message, 
  4631.                  and the second time to be used as the substitution for the "%1" in the macro definition.
  4632.               
  4633.                  The  chat macros can also be very helpful for a technical support system for providing a 
  4634.                  mechanism to quickly answer commonly asked questions when a live operator is on duty for a chat 
  4635.                  channel to provide answers for questions about a specific product or service.
  4636.               
  4637.                     DIRLxxx     This message is displayed in place of the listing of files for sub-board "xxx" if  
  4638.                       present.  You can use this if you want to only present users with certain files, or 
  4639.                       present the listing in a different format than that generated automatically by the 
  4640.                       system.              
  4641.               
  4642.                     DISCLAIM    f this message is present, it will display a "disclaimer" to the user when 
  4643.                       he logs on to set up an account.  The user must enter "Y" or "YES" after this 
  4644.                       message is displayed.  If he enters anything else, then he is disconnected.              
  4645.               
  4646.                     FAXLxxx     This message is displayed in place of the listing of FAX documents for sub-board 
  4647.                       "xxx" if  present.  You can use this if you want to only present users with certain 
  4648.                       documents, or present the listing in a different format than that generated 
  4649.                       automatically by the system.              
  4650.               
  4651.                     FREELOAD    For subscriber systems charging by cents or minutes, if a nonsubscriber 
  4652.  
  4653.               
  4654.  
  4655.  
  4656.  
  4657.  
  4658.  
  4659.                       exceeds the number of minutes a free  user is allowed before subscribing (defined 
  4660.                       by option "L" of the "PX$" command), then this message is displayed.  This only 
  4661.                       applies to users with an access level less than the default subscriber feature access 
  4662.                       level (defined by option "I" or "J" of the "PX$" command).  For subscriber 
  4663.                       systems charging strictly by date, Bulletron computes the days from first logon to 
  4664.                       present and displays this message if the user has been on more days than specified 
  4665.                       for the "L" option of  the "PX$" command.              
  4666.               
  4667.                     HELPbbb     This is the help menu for the main command prompt on the sub-board with 
  4668.                       abbreviation "bbb".  This describes all the commands in general.  This supersedes 
  4669.                       any "HELPI" message for the system when that sub-board is selected.  NOTE:  
  4670.                       For all the help messages; that is, messages with names beginning with "HELP", 
  4671.                       there can also be an ANSI equivalent and a RIP equivalent.  Precede the help 
  4672.                       message name with the letter "A", such as "AHELPDB", for ANSI sessions or 
  4673.                       with the letter "R", as in "RHELPDB", for RIP sessions.  These ANSI and RIP 
  4674.                       equivalent help messages are sent to users who answer "Y" or "R" to the graphics 
  4675.                       rendition prompt during logon.              
  4676.               
  4677.                     HELPAHelp for the built-in adventure game/expert system.              
  4678.               
  4679.                     HELPBHelp for the sub-board selection menu.              
  4680.               
  4681.                     HELPC Help for the Chat ("C"  and "/") commands.              
  4682.               
  4683.                     HELPCHHelp for chat channels.  You can create this message to tell your users what 
  4684.                       subject matter is appropriate for each chat channel that you define using the "PC" 
  4685.                       command.  Users can view this message by entering "H" from the chat channel 
  4686.                       menu, "MENUCH", described below in this section.              
  4687.               
  4688.                     HELPDBHelp for the application specific database feature.              
  4689.               
  4690.                     HELPE1Help for the Enter command when the sub-board is not an order-entry sub-board 
  4691.                       or a networking sub-board.              
  4692.               
  4693.                     HELPE2Help for the Enter command when the sub-board is an order entry board and a 
  4694.                       user is entering an order.              
  4695.               
  4696.                     HELPE3Help for the Enter command when the sub-board is the Bulletnet network source 
  4697.                       for private messages.              
  4698.               
  4699.                     HELPE4Help for the Enter ("E") command when the current sub-board is a form message 
  4700.                       sub-board.              
  4701.               
  4702.                     HELPFCHelp for the Files List ("F") commands.              
  4703.               
  4704.                     HELPFTP     Help for the FTP internet ("IF") subcommands.              
  4705.               
  4706.                     HELPFXHelp for the FAXback ("X") Commands.              
  4707.               
  4708.                     HELPIIf the user enters "H" or "HELP" from the main system prompt ("What's Next"), 
  4709.                       Bulletron will display help message HELPI (or AHELPI for ANSI).  This is 
  4710.                       normally a short message containing additional options such as              
  4711.               
  4712.                            R - Help on Read command
  4713.               
  4714.                            W - Help on Who command
  4715.               
  4716.                            or just general bulletin-type information such as
  4717.               
  4718.                            1 - Information about this hardware
  4719.               
  4720.                            2 - User meeting coming soon
  4721.               
  4722.                            Whatever character the user enters, it is added to the string HELPI to produce a 
  4723.                            new help message which is then displayed.  This is called "Indexed Help".  In the 
  4724.                            above example, if the user entered "2" for information about the next user 
  4725.  
  4726.               
  4727.  
  4728.  
  4729.  
  4730.  
  4731.  
  4732.                            meeting, then Bulletron would read the message to account HELPI2 and display 
  4733.                            that message to the user next.  If the user has selected a sub-board for which a 
  4734.                            "HELPbbb" message exists, where "bbb" is the abbreviation for that sub-board, 
  4735.                            then the "HELPbbb" message takes priority and the help index is not shown. This 
  4736.                            is done on the assumption that you will only make a few "HELPbbb" messages 
  4737.                            for sub-board with very specific purposes.  The user can enter a subcommand with 
  4738.                            the "H" command to bypass the first level menu; as in "HR", which would display 
  4739.                            the "HELPIR" message directly.  Bulletron recognizes the word "HELP" at the 
  4740.                            main system prompt and treats this as if the user entered "H", and not "HE", which 
  4741.                            would display an "HELPIE" message.
  4742.               
  4743.                      HELPIn   The next level of information for item "n" as displayed from message 
  4744.                      "HELPI".  "AHELPIn" is the ANSI equivalent.              
  4745.               
  4746.                      HELPL    instructions for using the "L" command to search or browse the remote 
  4747.                      network nodes database.              
  4748.               
  4749.                      HELPM1   Help with the match command when matching to accounts.              
  4750.               
  4751.                      HELPM2   Help with the match command when matching to messages.              
  4752.               
  4753.                      HELPMAC  Help with chat macros.  You may use this message to tell your users what 
  4754.                      macros are available if you create the "CHATMACS" message (above).  
  4755.                      Users can invoke this message from public chat by entering "//HELP" on a 
  4756.                      blank line.              
  4757.               
  4758.                      HELPN1   Help with the "N" command for systems with 3-line personal descriptions.              
  4759.               
  4760.                      HELPN2   Help with the "N" command for systems with name & address personal 
  4761.                      descriptions.              
  4762.               
  4763.                      HELPP    Help for the internet ("I") commands.              
  4764.               
  4765.                      HELPR    Help for the Summary and Read command at the beginning of the command 
  4766.                      as to what subcommands are available.              
  4767.               
  4768.                      HELPU    Help file for the upload/download/file directory  commands.              
  4769.               
  4770.                      HELPV    Help with the "V" command.              
  4771.               
  4772.                      HELPW    Help with the "W" command.              
  4773.               
  4774.                      LOGO     Displays when a user first gets a connection and before he has entered his 
  4775.                      account code.  "ALOGO" is the ANSI equivalent.  "RLOGO" is the RIP 
  4776.                      equivalent.              
  4777.               
  4778.                      LOGOFF   ASCII logo displayed when a user logs off with the "G" command.  
  4779.                      "ALOGOFF" is the ANSI equivalent.  "RLOGOFF" is the RIP equivalent.              
  4780.               
  4781.                      MENU     Menu for the main command menu.  If this is not present then Bulletron will 
  4782.                      display the main commands based on what commands are available on the 
  4783.                      selected sub-board and based on the user's access level.  If "MENUbbb" (see 
  4784.                      below) is present, "MENUbbb" will display rather than MENU.              
  4785.               
  4786.                  NOTE:  For all the menu files, messages beginning with "MENU", there can also be an ANSI 
  4787.                  and a RIP equivalent.  Prefix the menu name with the letter "A", such as "AMENUbbb", for ANSI 
  4788.                  sessions, or the letter "R", as in "RMENUbbb", for RIP sessions.  These ANSI and RIP equivalent 
  4789.                  menu files will be sent to users who answer "Y" or "R" to the graphic rendition prompt during logon.  
  4790.               
  4791.                      MENUB    Sub-board selection menu, "B" command.  The sub-board selection menu can 
  4792.                      also be split into submenus.  To use this sub-menu feature, you must arrange 
  4793.                      your sub-boards into no more than nine groups, each containing no more than 
  4794.                      ten sub-boards.  When the user enters the "B" command, Bulletron displays 
  4795.                      the "MENUB" (or "AMENUB" for ANSI sessions) message.  Your 
  4796.                      "MENUB" message should show only choices 1 through 9. When you set up 
  4797.                      sub-boards 1 through 9, you will give some or all of them the type "?"  as 
  4798.  
  4799.               
  4800.  
  4801.  
  4802.  
  4803.  
  4804.  
  4805.                      their special feature.  If the user selects a sub-board that does not have a type 
  4806.                      of  "?"  as its special feature, then he gets the main system prompt with that 
  4807.                      sub-board selected.  If the user selects one of the sub-boards that has a special 
  4808.                      feature  of "?", then Bulletron presents him with another sub-board menu.  
  4809.                      Sub-board 1 will give him a menu for sub-boards 10 through 19; sub-board 2 
  4810.                      would give him a menu for sub-boards 20 through 29, and so forth.  If you 
  4811.                      make a "MNU1" message ("AMNU1" for ANSI sessions), then Bulletron 
  4812.                      shows this message as a menu for sub-boards 10 through 19.  A "MNU2" 
  4813.                      message is shown for sub-boards 20 through 29, and so forth.  If "MENUB" 
  4814.                      or any of the sub-menus, "MNU1" through "MNU9" are missing, then 
  4815.                      Bulletron displays the appropriate information from its board table.  Pay 
  4816.                      careful attention to the fact that the letter "E" is missing from the message 
  4817.                      name for  sub-board selection submenus.  This is done to allow  four digits to 
  4818.                      be used in the menu names, as in "AMNU9999".  This gives you four layers 
  4819.                      of nested grouping for message and file areas.              
  4820.               
  4821.                      MENUbbb  Main menu for sub-board "bbb" where "bbb" is the sub-board abbreviation.  
  4822.                      This menu will display in place of "MENU" if present.  If neither of these are 
  4823.                      present, then Bulletron will display the commands that the user can access 
  4824.                      from the prompt.  System operators and assistant system operators always see 
  4825.                      the true sub-board menu, so that they can see sub-boards that they don't want 
  4826.                      to list in a custom menu message.              
  4827.               
  4828.                      MENUC    Menu for Chat ("C" and "/") commands.              
  4829.               
  4830.                      MENUCH   Chat Channel menu - displayed when the "/L" command is used without a 
  4831.                      channel number specified, and each time  that public chat is entered.  If this 
  4832.                      menu is not present, then Bulletron produces a menu "on the fly" that 
  4833.                      displays the chat channels that the current user can see based on his feature 
  4834.                      access level and SIGs.              
  4835.               
  4836.                      MENUE1   Menu for Enter Message ("E") commands.              
  4837.               
  4838.                      MENUF    Menu for the SYSOP File Management ("+F ") commands.              
  4839.               
  4840.                      MENUFC   Menu for the File Listing ("F") commands.              
  4841.               
  4842.                      MENUFTP  Menu for the internet FTP ("IF") subcommands.              
  4843.               
  4844.                      MENUFX   Menu for the FAXback ("X") commands.              
  4845.               
  4846.                      MENUI    Menu for the Installation Parameters ("P") commands.              
  4847.               
  4848.                      MENUL    Menu for the network node listing ("L") commands.              
  4849.               
  4850.                      MENUM1   Menu for Match ("M") commands by account.              
  4851.               
  4852.                      MENUM2   Menu for Match ("M") commands by message.              
  4853.               
  4854.                      MENUN1   Menu for the "N" command with 3-line description.              
  4855.               
  4856.                      MENUN2   Menu for the "N" command with name/address/city.              
  4857.               
  4858.                      MENUO    Menu for the "O" command (Outside Features).  This menu is optional.  If it 
  4859.                      is not present, then Bulletron will generate one automatically based on the 
  4860.                      outside features that the current user can access based on his feature access 
  4861.                      level and SIGs.              
  4862.               
  4863.                      MENUP    Menu for the internet features ("I") commands.              
  4864.               
  4865.                      MENUR    Menu for Read ("R") and Summary ("S") commands.              
  4866.               
  4867.                      MENUS    Menu for system management command, "+".              
  4868.               
  4869.                      MENUS2   Main menu like "MENU", but showing SYSOP commands also.              
  4870.               
  4871.  
  4872.               
  4873.  
  4874.  
  4875.  
  4876.  
  4877.  
  4878.                      MENUU    Menu for file upload/download protocols.              
  4879.               
  4880.                      MENUV    Menu for file View ("V") command.              
  4881.               
  4882.                      MENUW    Menu for the Who ("W") command.              
  4883.               
  4884.                      MENUX    Menu for the Extended Features Setup ("PX" command).              
  4885.               
  4886.                      MNUnnnn  These are sub-board selection sub-menus.  The number "nnnn" represents a 
  4887.                      sub-board sequence number.  For example, if the "MENUB" message 
  4888.                      presents the user with the choices "1", "2" and "3", then you can specify a 
  4889.                      networking feature of "?" for sub-board 1, using the "PB" command, and then 
  4890.                      provide a "MNU1" message which can present  options of "1", "2" and "3" 
  4891.                      for sub-boards 11, 12 and 13.  In like manner, you can specify a networking 
  4892.                      feature of "?" for any of boards 11, 12 or 13, and make menu messages like 
  4893.                      "MNU111", "MNU112", "MNU131" and so forth.  You can build this 
  4894.                      hierarchy to four levels deep.  The ANSI equivalents for these menu 
  4895.                      messages are "AMNUnnnn", and the RIP equivalents are "RMNUnnnn".              
  4896.               
  4897.                      MOTD     Message of the day, displayed at logon.  "AMOTD" is the ANSI equivalent.  
  4898.                      "RMOTD" is the RIP equivalent.  After the "MOTD" has been entered, you 
  4899.                      can go back and read it (by entering "RA MOTD") and select option "V" to 
  4900.                      set the "No Interrupt" flag for that message to "L" (Last logon).  This will 
  4901.                      cause the message of the day to only display once to users whose message 
  4902.                      last logon date/time are less than the updated date/time of the "MOTD".  This 
  4903.                      ability to show only once applies to "MOTDxxx", "MOTDn", and their ANSI 
  4904.                      or RIP equivalent messages but must be set with the "V" option on each 
  4905.                      message.              
  4906.               
  4907.                      MOTD$S   This is a special message of the day, like the "MOTD" message, that is shown 
  4908.                      only to subscriber accounts.              
  4909.               
  4910.                      MOTD$N   This is a special message of the day; like the "MOTD" message that is shown 
  4911.                      only to nonsubscriber accounts.              
  4912.               
  4913.                      MOTDV    Message of the day for VISITORs.  This is displayed to the "VISITOR" 
  4914.                      account right after the MOTD message.  "AMOTDV" is the ANSI equivalent.  
  4915.                      You can use this to tell VISITORs what they're missing out on by not setting 
  4916.                      up a real account and getting validated.              
  4917.               
  4918.                      MOTDxxx  Message of the day for sub-board "xxx".  "AMOTDxxx" is  the ANSI 
  4919.                      equivalent.              
  4920.               
  4921.                      MOTDn    Message of the day displayed when the caller logs on telephone line "n".  
  4922.                      "AMOTDn" is the ANSI equivalent.              
  4923.               
  4924.                      NEWUSER  New user setup instructions.  "ANEWUSER" is the ANSI equivalent.  
  4925.                      "RNEWUSER" is the RIP equivalent.              
  4926.               
  4927.                      NEWUMSG  Message sent to new users after their first logon as a personalized "welcome".  
  4928.                      A copy of this message is placed in the user's private mail the first time that 
  4929.                      he logs off.              
  4930.               
  4931.                      NEWUMSGS Message sent to new users after their first logon as a personalized "welcome" 
  4932.                      to those users who are SEPARATED (whose SIG list contains the SIG listed 
  4933.                      in the board separation parameter "PXP" command, option "N").              
  4934.               
  4935.                      NEWUMSGn You can cause your Bulletron system to continue sending automatically 
  4936.                      generated mail to users, each time they log off, up to their tenth call.  If you 
  4937.                      make a message on your "utilities" sub-board to the pseudo-account 
  4938.                      "NEWUMSG2", then a copy of this message will be sent to a user after the 
  4939.                      second time that he logs off.  If you make a utility message to 
  4940.                      "NEWUMSG3", then this will be sent to him after the end of his third call.  
  4941.                      You can make messages "NEWUMSG2" through "NEWUMSG9".  Inside 
  4942.                      these messages, you can embed special codes that can personalize these 
  4943.                      message for each individual user.  These special codes include:              
  4944.  
  4945.               
  4946.  
  4947.  
  4948.  
  4949.  
  4950.  
  4951.               
  4952.                               ^x   is replaced by a control character that corresponds to letter "x".  For 
  4953.                               example, "^M" would produce a carriage return, "^J" would 
  4954.                               produce a line feed, and  "^I" would produce a tab character.              
  4955.               
  4956.                               $^$  is replaced by the account code that logged onto the system prior to 
  4957.                               the current user.              
  4958.               
  4959.                               $+$  inserts the user's account code at that point              
  4960.               
  4961.                               $A$  is replaced by "Y" if the current session has ANSI or RIP graphics, 
  4962.                               or "N" if not.              
  4963.               
  4964.                               $B$  is replaced by the short name of your BBS, which you specify using 
  4965.                               option "N" of the "PP" command.              
  4966.               
  4967.                               $I$  is replaced by the task (line ) number of the  line on which the user 
  4968.                               is logged on.              
  4969.               
  4970.                               $N$  inserts the user's name or handle at that point              
  4971.               
  4972.                               $S$  is replaced by the descriptive name of the current sub-board.              
  4973.               
  4974.                               $T$  is replaced by the number of minutes remaining in the user's current 
  4975.                               session.              
  4976.               
  4977.                               $L$  inserts the user's location (city and state) at that point              
  4978.               
  4979.                               $$$  inserts another account code chosen at random at that point.              
  4980.               
  4981.                               $O$  inserts the ordinal call number at that point; that is, "1st" for his 
  4982.                               first call, "2nd" for his second call, and so forth.              
  4983.               
  4984.                               $P$  is replaced by the main system prompt (usually "What next?")              
  4985.               
  4986.                               $TS$ is replaced by the minutes already used in the current session              
  4987.               
  4988.                               $TD$ is replaced by the minutes already used in the current day.              
  4989.               
  4990.                               $TL$ inserts the number of total minutes that the user has logged on the 
  4991.                               system at that point.              
  4992.               
  4993.                               All of these special substitution calls can, of course, also be used in the 
  4994.                               "NEWUMSG" and "NEWUMSGS" messages.  ANSI and RIP variants of 
  4995.                               these messages are not available.
  4996.               
  4997.                      QUESTxxx Matchmaker questionnaire for sub-board "xxx".  This includes multiple 
  4998.                      choice questionnaires, essay questionnaires, and order entry forms.              
  4999.               
  5000.                      OFF-LINE     This message is displayed to a caller if the BBS is started  with the 
  5001.                      "OFF-LINE" parameter.              
  5002.               
  5003.                      PROMPTnn Most of the user-visible prompts are contained in the messages PROMPT0 
  5004.                      thru PROMPT19.  You may change the wording of some of the prompts 
  5005.                      within certain restrictions.  There is not a much free space in the prompt 
  5006.                      buffer.  If you make any prompt longer than the existing prompt, you may 
  5007.                      have to shorten another prompt  to keep the prompts within the buffer.  Do 
  5008.                      not use any  percent signs ("%") in your prompts.  Do not remove any percent 
  5009.                      signs or percent/letter combinations (such as "%s", "%d", "%c") in any 
  5010.                      existing prompts.  Do not change the numbers that precede the prompts.  The 
  5011.                      prompts cannot span more than one line and cannot be  more than 140 
  5012.                      characters long.  The "\n" in the prompts signify a new line (carriage return 
  5013.                      and line feed).  Changing the prompts is not really recommended since the 
  5014.                      user documentation will not be accurate and a typographical error could cause 
  5015.                      the system to not function at all.  The facility is made available for foreign 
  5016.                      language systems and places where only minor wording (such as changing 
  5017.  
  5018.               
  5019.  
  5020.  
  5021.  
  5022.  
  5023.  
  5024.                      "Board" or "BBS") is necessary.              
  5025.               
  5026.                      RANDOMn  Every time that the user reaches the main system prompt, the system 
  5027.                      generates a random number between 0 and 35.  This number is appended to 
  5028.                      the characters "RANDOM" to create a "to" name of "RANDOM0" thru 
  5029.                      RANDOM9 and "RANDOMA" thru "RANDOMZ".  If the message does 
  5030.                      exist and has not already been displayed to that user in that  session, it will be 
  5031.                      displayed at that point.  You can use this to display random announcements to 
  5032.                      users during  their sessions, or remind them of tips and techniques for getting 
  5033.                      more efficient use out of the system, or for selling advertising to businesses in 
  5034.                      your area.  There  can also be ANSI and RIP equivalents to these message by 
  5035.                      prefixing the message name with the letter "A", such as  "ARANDOM0", or 
  5036.                      the letter "R" as in "RRANDOM0".              
  5037.               
  5038.                      RCPTbbb  This message is sent to a user in private mail whenever he completes the 
  5039.                      matchmaker questionnaire for sub-board "bbb".  Its purpose is to 
  5040.                      automatically generate a receipt for order-entry boards, but it will also be sent 
  5041.                      for multiple choice questionnaires as well, if defined for a sub-board set up 
  5042.                      for multiple choice matchmaking.              
  5043.               
  5044.                      SUBINFO  Subscription rate information and payment instructions that is displayed 
  5045.                      when a user enters "$" on the main menu.              
  5046.               
  5047.                      TUTOR1 through TUTOR6  Messages used for the user tutorial.  These messages must be 
  5048.                      linked together to have them all displayed when the user enters the "T" 
  5049.                      command.  See the section "Additional Sysop Commands" for details about 
  5050.                      special characters active within these messages.              
  5051.               
  5052.                      VERIFYQU This message holds the verification questionnaire.  This is sometimes also 
  5053.                      referred to as the "new account application form"              
  5054.               
  5055.                      WELCOME  This message is displayed to the user after sets up a new account.  
  5056.                      "AWELCOME" is the ANSI equivalent.  "RWELCOME" is the RIP 
  5057.                      equivalent.  Note that if a message exceeds 9000 characters, you can create a 
  5058.                      second message with a DIFFERENT to-account name and link the first part 
  5059.                      to the second part.  This will not work for questionnaires, but will work for 
  5060.                      help messages, menus, and most other messages.  You will find this feature 
  5061.                      extremely useful if you make animated ANSI graphic screens.  "Linking" is 
  5062.                      done as follows:  Assume you are linking TUTOR1, TUTOR2, TUTOR3, 
  5063.                      TUTOR4, TUTOR5, and TUTOR6 together.  Also assume that when you 
  5064.                      entered "E@ TUTOR1", you noticed that it was message number 1201, 
  5065.                      "TUTOR2" was message 1202, "TUTOR3" was message 1205, "TUTOR4" 
  5066.                      was message  1207, "TUTOR5" was message 1210, and "TUTOR6" was 
  5067.                      message 1215.  Enter "RA TUTOR1".  At the post-read prompt, enter "L" to 
  5068.                      link the  message, then enter 1202 (the message number of "TUTOR2") to 
  5069.                      link to next.  Now enter "RA TUTOR2", enter "L" to link the message, then 
  5070.                      enter 1205 to link "TUTOR2" to "TUTOR3".  Next enter "RA "TUTOR3", 
  5071.                      then "L", then 1207 to link "TUTOR3" to "TUTOR4".  Next enter "RA 
  5072.                      "TUTOR4", then "L", then 1210 to link "TUTOR4" to "TUTOR5".  Finally 
  5073.                      enter "RA TUTOR5", then "L", then 1215 to link "TUTOR5" to "TUTOR6".  
  5074.                      Since "TUTOR6" is the last message, it does not get linked to any others.  If 
  5075.                      you load all the menus and help messages from "*.UTL" files, using the 
  5076.                      BBUTIL2 program, then the BBUTIL2 program will automatically generate 
  5077.                      the links for you.              
  5078.               
  5079.                  5.4.10.1. ANSI Graphic Colors
  5080.               
  5081.                  This section is not intended to be a primer on ANSI graphics.  It is intended to summarize some 
  5082.                  of the common codes and explain how Bulletron handles these codes so that you understand how to 
  5083.                  setup the codes in the command discussions that follow.  Because  of its built-in windowing system, 
  5084.                  Bulletron does not use ANSI.SYS, but simulates a limited set of ANSI commands locally.  Therefore  
  5085.                  some screens will not display properly locally although they will appear properly when transmitted to 
  5086.                  the user.  
  5087.               
  5088.                  ANSI graphics codes are strings of characters, preceded with an escape character (1BH), which 
  5089.                  causes certain things to happen on systems that are setup to handle those codes.  The most common 
  5090.  
  5091.               
  5092.  
  5093.  
  5094.  
  5095.  
  5096.  
  5097.                  things include changing colors, clearing the screen, and positioning the cursor.  The remote system 
  5098.                  which receives the codes must have the ANSI.SYS driver loaded by the CONFIG.SYS file and must be 
  5099.                  using a modem program such as Qmodem or Telix which recognizes the codes.  
  5100.               
  5101.                  Bulletron handles graphics in two ways:  it can send out special messages which contain 
  5102.                  embedded graphics codes in place of  the normal messages (such as the "AMENUB" message), and it 
  5103.                  can use  ANSI escape sequences to set the user's screen colors based on the significance of what he is 
  5104.                  seeing.  For example, the main system prompt could be made bold white, while other text is dull grey to 
  5105.                  help him distinguish the prompt from the rest of the stuff that may be going on.
  5106.               
  5107.                  To define graphics for specific places defined within the program, enter "I" from the main system 
  5108.                  prompt to bring up the  Installation Menu, then enter "G", or, to save time, just enter "PG" from the 
  5109.                  main system prompt. You will be shown the following list of specific places for which you can set 
  5110.                  colors: 
  5111.               
  5112.                  
  5113.               
  5114.                  Enter the number of the area to add or change, 
  5115.               
  5116.                  enter -number to delete it, or enter cntl-c 
  5117.               
  5118.                  while list is displaying to exit to prompt quickly. 
  5119.               
  5120.                  Graphic areas that can be changed: 
  5121.               
  5122.                  1  Board Selection Menu
  5123.               
  5124.                  2  Main Menu Prompt
  5125.               
  5126.                  3  Default
  5127.               
  5128.                  4  Control Window
  5129.               
  5130.                  5  Line Usage Stats
  5131.               
  5132.                  6  Waiting Window
  5133.               
  5134.                  7  Chat Default
  5135.               
  5136.                  8  Received Chat Text
  5137.               
  5138.                  9  Chat Account Codes
  5139.               
  5140.                  10  System Generated Chat Text
  5141.               
  5142.                  11  Sent Private Chat Text
  5143.               
  5144.                  12  Received Private Chat Text
  5145.               
  5146.                  13  Null Modem Lines
  5147.               
  5148.                  14 - TELNET Lines
  5149.               
  5150.                  15  LAN Lines
  5151.               
  5152.                  Which area (0 or [RETURN] to quit) ?
  5153.               
  5154.                  Enter the number of the area, 1 through 15 that you wish to change, enter the negative of the 
  5155.                  number to delete it, or enter zero to return to the Installation Menu.  After entering the area number, you 
  5156.                  will be prompted for colors:
  5157.               
  5158.                  
  5159.               
  5160.                  1  - Black 
  5161.               
  5162.                  2  - Red 
  5163.  
  5164.               
  5165.  
  5166.  
  5167.  
  5168.  
  5169.  
  5170.               
  5171.                  3  - Green 
  5172.               
  5173.                  4  - Yellow 
  5174.               
  5175.                  5  - Blue 
  5176.               
  5177.                  6  - Magenta (purple) 
  5178.               
  5179.                  7  - Cyan (light blue) 
  5180.               
  5181.                  8  - White 
  5182.               
  5183.                  Foreground:
  5184.               
  5185.                  At this point, you are selecting the color of the text (foreground).  Enter a number from 1 to 8 to 
  5186.                  select the color of  the text.  You will then be prompted for the background color:  
  5187.               
  5188.                  
  5189.               
  5190.                  Background:
  5191.               
  5192.                  
  5193.               
  5194.                  Again, enter a number from 1 to 8 to select the background color.  
  5195.               
  5196.                  
  5197.               
  5198.                  Next you will be asked if you want the text (foreground) to be in high intensity or low intensity.  
  5199.                  The background is always in low intensity.  Enter "H" for high intensity or anything else for low 
  5200.                  intensity.  The default is low intensity if you just press [ENTER].  As a side note, brown is the low 
  5201.                  intensity form of  yellow, so yellow is only available as a foreground color.  High intensity magenta is 
  5202.                  pink.  High intensity black is a dark grey and low intensity white is a light grey.
  5203.               
  5204.                  
  5205.               
  5206.                  Intensity (High/Low):
  5207.               
  5208.                  
  5209.               
  5210.                  You can have the screen cleared after changing the colors.  Enter "Y" for the question:
  5211.               
  5212.                  
  5213.               
  5214.                  Clear Screen (Y/N):
  5215.               
  5216.                  
  5217.               
  5218.                  You can also set specific colors for the default text on each sub-board.  It is recommended that 
  5219.                  you not use any background for  this except black, as the background color on each line will only 
  5220.                  extend as far as the text for the line, leaving a ragged black right margin on the user's screen.  Also, low 
  5221.                  intensity blue on  black is almost invisible on most monitors.
  5222.               
  5223.                  To change the default text colors for sub-boards, enter "P" from the main system prompt to bring 
  5224.                  up the Installation Parameters Menu, then select option "A", or, to save time, just enter "PA" from the  
  5225.                  main system prompt.  You will then be prompted with a list of your sub-boards, for example:
  5226.               
  5227.                  
  5228.               
  5229.                  Enter the number of the area to add or change, 
  5230.               
  5231.                  enter -number to delete it, or enter cntl-c 
  5232.               
  5233.                  while list is displaying to exit to prompt quickly. 
  5234.               
  5235.                  Board colors that can be changed: 
  5236.  
  5237.               
  5238.  
  5239.  
  5240.  
  5241.  
  5242.  
  5243.               
  5244.                  1 Personal Mail 
  5245.               
  5246.                  2 System Operator's 
  5247.               
  5248.                  3 Technical Info 
  5249.               
  5250.                  4 Network Source 
  5251.               
  5252.                  Which board (0 or [RETURN] to quit) ?  
  5253.               
  5254.                  
  5255.               
  5256.                  Enter the sub-board number (note that these are not the sub-board sequence numbers defined with 
  5257.                  the "PB" command) to define the colors for that particular sub-board, the negative of  the sub-board 
  5258.                  number to delete their colors, or zero to return to the  Installation menu.  You will be prompted for the 
  5259.                  colors as discussed previously.  
  5260.               
  5261.                  5.4.10.2. Foreign Language Considerations
  5262.               
  5263.                  The dates that display in Bulletron are normally shown in month/day/year format or 
  5264.                  MM/DD/YY.  A version can be compiled, on special request, which will display them in 
  5265.                  day/month/year format for use in those countries more familiar with DD/MM/YY.
  5266.               
  5267.                  The words that are hard coded within the program and not part of the prompt messages have been 
  5268.                  isolated and translated into French, Spanish, Italian, and German.  Foreign systems can request that 
  5269.                  their systems be compiled with any of those prompts.  Prompts for other languages are also possible if 
  5270.                  requested.  The sysop-changable prompts, menus, and help files are still in English but can be translated 
  5271.                  and changed.  We leave that to you, as you are obviously capable of doing it if you are reading this 
  5272.                  manual!
  5273.               
  5274.                  It is also possible to get a version compiled which will allow all 8 bits input from the console 
  5275.                  keyboard for those  countries that use graphics characters such as the umlaut in German.  Note, 
  5276.                  however, that if a user calls with 7-E-1 rather than 8-N-1, file transfers will not work.
  5277.               
  5278.                  Although the prompt files allow almost all of the prompts to be changed to a foreign language, 
  5279.                  the commands cannot be changed.  "R" must be entered for "Read" even though "read" many not begin 
  5280.                  with an "R" in the different language.  One alternative is to use  the ANSI equivalent feature to present 
  5281.                  an alternate set of menus and help messages.  Change the prompt "Do you want ANSI graphics" to "Do 
  5282.                  you want German", for example.  Then have a set of "AMENU" and "AHELP" messages with the text 
  5283.                  in German.  This way the BBS can be read in either English or German.  The prompts would still be in 
  5284.                  English, but at least most of the menus and help files would be in the foreign language.  The post-read 
  5285.                  menu (Comment, Delete, etc. after reading a message) comes from the prompt file rather than a menu 
  5286.                  file because the message buffer that contains the message is the same as that used to retrieve "MENU" 
  5287.                  messages.  These  post-read and post-enter prompts have already been translated to Spanish language 
  5288.                  and can be compiled as such upon special request.  For other languages, we will gladly provide a list of 
  5289.                  words and phrases used and make the substitutions if you supply us with whatever words are 
  5290.                  appropriate for your language.
  5291.               
  5292.                  Bulletron is shipped with English prompts and all "yes" parameters set to "Y".  Those foreign 
  5293.                  systems may receive another file containing just the prompts translated to their language, such as 
  5294.                  PRPTSPAN.ZIP contain the prompts in Spanish.  You will need to unzip this file and run BBUTIL2, 
  5295.                  option "H", to replace  the English prompts with the Spanish prompts before starting Bulletron.  The 
  5296.                  first time that you log on to Bulletron as SYSOP, you ill need to change all "yes" prompts in the 
  5297.                  parameters to the  letter corresponding to "yes" in your language.
  5298.               
  5299.                  5.4.11. Creating and Maintaining Shareware Libraries
  5300.               
  5301.                  Assume that a Bulletron installation has the following sub-boards: 
  5302.               
  5303.                  
  5304.               
  5305.                  Personal Mail
  5306.               
  5307.                  Apple Computers 
  5308.               
  5309.  
  5310.               
  5311.  
  5312.  
  5313.  
  5314.  
  5315.  
  5316.                  IBM Computers 
  5317.               
  5318.                  Computer Communications
  5319.               
  5320.                  Utility/Helpfiles 
  5321.               
  5322.                   
  5323.               
  5324.                  Also assume that the Apple Computers sub-board is to contain separate areas for utilities, games 
  5325.                  and communications programs, and the IBM Computers sub-board is to contain separate areas for 
  5326.                  utilities, games, and communications programs.  The areas might be  divided into subdirectories as 
  5327.                  follows:  
  5328.               
  5329.                   C:\BBS\PSLUPDN (personal mail - upload/download) 
  5330.               
  5331.                  D:\BBS\APPLE\UTIL (downloadable Apple Utility files) 
  5332.               
  5333.                  E:\BBS\APPLE\GAMES (for downloadable Apple Games) 
  5334.               
  5335.                  C:\BBS\APPLE\UPLOADS (for Apple uploads) 
  5336.               
  5337.                  C:\BBS\APPLE\COMM (for Apple communications programs)
  5338.               
  5339.                  D:\IBM\UTIL (for IBM Utilities files) 
  5340.               
  5341.                  C:\IBM\GAMES (for IBM Game files) 
  5342.               
  5343.                  E:\IBM\COMM (for downloadable IBM communication files) 
  5344.               
  5345.                  E:\IBM\UPLOADS (for Upload to IBM) 
  5346.               
  5347.                  D:\HAM (for HAM radio communications programs)
  5348.               
  5349.                  You would like to make all of the Apple programs available to the Apple SIG and make the IBM 
  5350.                  programs available to the IBM SIG, but also make both the Apple and IBM communications programs  
  5351.                  available to the Communications SIG.  For processing speed and storage efficiency, Bulletron uses a 
  5352.                  two-tiered file directory definition system that separates physical path definitions from sub-board file 
  5353.                  menu offerings.  This elimination of redundancy is a characteristic of a normalized relational database 
  5354.                  such as the  one that is at the heart of the Bulletron system.
  5355.               
  5356.                  5.4.11.1. Defining Paths
  5357.               
  5358.                  The "PF" command is used to define physical file directories to Bulletron.  You can access this 
  5359.                  command by entering "P" at the main system prompt, then selecting "F", or, to save time, you can just 
  5360.                  enter "PF" at the main system prompt.  The key to Bulletron's path definition records is a four character 
  5361.                  "path-id".  The path-id is used in place of writing out the entire path description each time a path to a 
  5362.                  subdirectory is referenced.  It also allows the same directory to be used on several sub-boards and have 
  5363.                  the same directory message updated regardless of which board a user has selected when the directory is 
  5364.                  updated.  In terms of our example, when a person uploads a file to the Apple Communications files, it 
  5365.                  will simultaneously appear there and on the Communications SIG sub-board.  The path-id can be any 4 
  5366.                  letters, but for ease of use, it is recommended that it be the  sub-board abbreviation and possibly the 
  5367.                  option selection letter.  This helps you to remember the path-id codes when you have several hundred 
  5368.                  of them.
  5369.               
  5370.                  When you begin a "PF" command, you are prompted to add, change, delete, or list the path 
  5371.                  definitions.  Because lists of  path-id definitions tend to go on for several hundred lines, you  don't 
  5372.                  automatically get a list of path-id definitions when you begin the command; you have to enter "L" and 
  5373.                  ask for it.  A list of path-id definitions for our example above might be:  
  5374.               
  5375.                  
  5376.               
  5377.                  PATH-ID PATH
  5378.               
  5379.                  PSLA    C:\BBS\PSLUPDN
  5380.               
  5381.                  APLA    D:\BBS\APPLE\UTIL
  5382.  
  5383.               
  5384.  
  5385.  
  5386.  
  5387.  
  5388.  
  5389.               
  5390.                  APLB    E:\BBS\APPLE\GAMES
  5391.               
  5392.                  APLC    C:\BBS\APPLE\UPLOADS
  5393.               
  5394.                  APLD    C:\BBS\APPLE\COMM
  5395.               
  5396.                  IBMA    D:\IBM\UTIL
  5397.               
  5398.                  IBMB    C:\IBM\GAMES
  5399.               
  5400.                  IBMC    E:\IBM\COMM
  5401.               
  5402.                  IBMD    E:\IBM\UPLOADS
  5403.               
  5404.                  COMA    D:\HAM
  5405.               
  5406.                  A-Add, C-Change, D-Delete, L-List, Q-Quit:
  5407.               
  5408.                  If you enter "A", "C", or "D" at this point, you are prompted with:
  5409.               
  5410.                  
  5411.               
  5412.                  Path-id:
  5413.               
  5414.                  
  5415.               
  5416.                  To create a new path definition (option "A"), you should enter a four character path-id that is not 
  5417.                  already in the list.  To change an existing path-id (option "C"), or delete an existing path definition 
  5418.                  (option "D"), you should enter a four character path-id that is already in the list.  Conveniently, 
  5419.                  Bulletron's built-in b-tree database engine always stores records in  alphabetical order, so it is fairly 
  5420.                  easy to find a specific path-id in the list, even if the list is fairly long.
  5421.               
  5422.                  After you enter an acceptable path-id, options "A" and "C" will prompt you for the physical 
  5423.                  directory path.  For the "C" option, the previous definition is shown in brackets.  You can leave the 
  5424.                  previous definition unchanged by simply pressing [ENTER].  For option "A", the brackets will be 
  5425.                  empty.  For  example, you might see::
  5426.               
  5427.                  
  5428.               
  5429.                  Subdirectory Path [D:\IBM\UPLOADS                  ]:
  5430.               
  5431.                  
  5432.               
  5433.                  Enter your new path string making sure to begin with the drive letter.  Do not include a trailing 
  5434.                  backslash ("\").  The  longest string you can enter is 31 characters.  It behooves you to use short 
  5435.                  directory names if you like to nest them deeply.  After you enter the path definition string, Bulletron 
  5436.                  brings you  back to:
  5437.               
  5438.                  
  5439.               
  5440.                  A-Add, C-Change, D-Delete, L-List, Q-Quit:
  5441.               
  5442.                  
  5443.               
  5444.                  When you are done, enter "Q" to get back to the Installation menu.
  5445.               
  5446.                  5.4.11.2. Assigning Directories to Sub-boards
  5447.               
  5448.                  The "PD" command is used to assign path-ids to sub-boards for Bulletron.  You can access this 
  5449.                  command by entering "P" at the main system prompt, then selecting "D", or, to save time, you can just 
  5450.                  enter "PD" at the main system prompt.  As with the "PF" command, directory assignment lists tend to 
  5451.                  get very long, so you are prompted for an action before a list is displayed.  A list of directory 
  5452.                  assignments for our example above might be:
  5453.               
  5454.                  
  5455.  
  5456.               
  5457.  
  5458.  
  5459.  
  5460.  
  5461.  
  5462.               
  5463.                  A-Add, C-Change, D-Delete, L-List, Q-Quit: L
  5464.               
  5465.                  
  5466.               
  5467.                  BRD  SEL  DESCRIPTION                       DOWN  UPLD  ACC-LVL R C
  5468.               
  5469.                  PSL   A       Private, Personal Files            PSLA    PSLA        10        Y
  5470.               
  5471.                  APL   A       Apple Utilities                            APLA    APLC      100
  5472.               
  5473.                  APL   B       Apple Games                         APLB    APLC      100
  5474.               
  5475.                  APL   C       New Apple Files                      APLC    APLC   1000
  5476.               
  5477.                  APL   D        Apple Terminal Programs    APLD    APLC     100
  5478.               
  5479.                  IBM   A         IBM Utilities                               IBMA     IBMD     100
  5480.               
  5481.                  IBM   B         IBM PC Games                     IBMB      IBMD     100
  5482.               
  5483.                  IBM   C         IBM Terminal Programs       IBMC      IBMD     100
  5484.               
  5485.                  IBM   D         New IBM Files                        IBMD      IBMD   1000
  5486.               
  5487.                  COM   A      HAM Radio Programs         COMA     COMA  120
  5488.               
  5489.                  COM   B      Apple Terminal Programs   APLD      APLC    100
  5490.               
  5491.                  COM   C      IBM Terminal Programs       IBMC       IBMD    100
  5492.               
  5493.                  A-Add, C-Change, D-Delete, L-List, Q-Quit:
  5494.               
  5495.                  
  5496.               
  5497.                  There are a couple of things you will want to take note of in our example list.  Note, first, that we 
  5498.                  assigned different directories for downloading, but only used one directory for uploading on all four 
  5499.                  directories of the Apple sub-board, then another directory for uploading for all four directories of the  
  5500.                  IBM sub-board.  You never know what people will upload, especially if you enforce a 
  5501.                  download/upload ratio; some files won't work, others may contain copyrighted material, and if you're 
  5502.                  real unlucky, some may contain stolen information like credit card numbers or government secrets.  
  5503.                  You may want to check each out each file before allowing anyone to download it.  You can do this with 
  5504.                  Bulletron by assigning all upload paths to a path or a set of paths that users can not access.  You can do 
  5505.                  that by assigning a very high access level to list entry that allows downloading from the upload path, or 
  5506.                  by just not entering the upload path in any of the download path selections at all.  Here we have chosen 
  5507.                  to assign a high access level to the entries that allow downloading from the upload path so that our staff 
  5508.                  can access the new uploads remotely.  In the case of our HAM radio group, we have allowed  them to 
  5509.                  download files as soon as they are uploaded, because we  know that the HAM radio operators are 
  5510.                  generally a pretty stable bunch.  Also of note, we have made the path-id codes the same as the 
  5511.                  sub-board abbreviations and menu selection letters, whenever possible to help us remember them.  In 
  5512.                  the case of our  Communications sub-board this was not possible for two of the  directories.
  5513.               
  5514.                  If you assign the same path-ID for downloading as uploading, then users will be able to download 
  5515.                  files as soon as they are uploaded.  This is a convenient for systems where the users are well-behaved, 
  5516.                  as in a closed, corporate system or a tech support BBS.  Tighter control of uploads is generally 
  5517.                  mandated which may permit minors to call.  This is especially true if the system caters to material 
  5518.                  which restricted because of its adult nature. In such a system, you may want to set up the directory for 
  5519.                  the  "personal mail" sub-board such that files can be downloaded as soon as they are uploaded, but 
  5520.                  restrict that directory path to private files only, using option "S" of the "PXP" command.
  5521.               
  5522.                  You may also, as an enticement to subscribe, choose to set the access levels of all directories low 
  5523.                  enough that nonsubscribers can see the file directories, but set the download access level for all 
  5524.                  sub-board high enough so that nonsubscribers can not download what they see.  If you do this, keep in 
  5525.                  mind that the download access level for ALL sub-boards must be set to the  subscriber access level, 
  5526.                  because the BBS program does not require  the specific board containing the file to be selected before 
  5527.                  downloading it, if the user can specify the exact name of the file.
  5528.  
  5529.               
  5530.  
  5531.  
  5532.  
  5533.  
  5534.  
  5535.               
  5536.                  When prompted for "Add, Change, Delete, List or Quit", if you enter "A", "C" or "D", then 
  5537.                  Bulletron will prompt you for a sub-board abbreviation and a menu selection letter.  For "A", you must 
  5538.                  enter a combination that does not yet exist.  For "C" or "D", you must enter a combination that already 
  5539.                  exists:
  5540.               
  5541.                  
  5542.               
  5543.                  Section Abbreviation: IBM
  5544.               
  5545.                  
  5546.               
  5547.                  Selection letter: A
  5548.               
  5549.                  
  5550.               
  5551.                  After you enter the sub-board abbreviation and menu selection letter, Bulletron shows you the 
  5552.                  name of the sub-board and prompts you for the description of the directory that the user will see on his 
  5553.                  menu of file directories:
  5554.               
  5555.                  
  5556.               
  5557.                  Up/Download subdistrict path for IBM Compat. Hardware selection A
  5558.               
  5559.                  Description of subdistrict [IBM Utilities                   ]:
  5560.               
  5561.                  
  5562.               
  5563.                  The old description is shown to you in brackets.  You can just press [ENTER] if you don't want 
  5564.                  to change it.  After that you are prompted for the path-id codes for the upload path and the  download 
  5565.                  path, and finally the minimum feature access level that will be required of a user to see the directory:
  5566.               
  5567.                  
  5568.               
  5569.                  Path ID to send downloads [IBMA]:
  5570.               
  5571.                   
  5572.               
  5573.                  Path ID to receive uploads [UPLD]:
  5574.               
  5575.                  
  5576.               
  5577.                  Access level required for this subdistrict [100]:
  5578.               
  5579.                  
  5580.               
  5581.                  The next prompt for the subdistrict assignment asks you:
  5582.               
  5583.                  
  5584.               
  5585.                  Inhibit download/upload ratios (Y/N) [N]:
  5586.               
  5587.                  
  5588.               
  5589.                  If you have some directories that you would like new users to be able to download from, without 
  5590.                  having to upload, then you can specify a "Y" for this.  You may have company promotional software 
  5591.                  such as demos or product specifications that you want everyone to have, while still enforcing 
  5592.                  download/upload ratios for most of your system.  You can also tell Bulletron to ignore 
  5593.                  download/upload ratios for certain individuals by setting a "D" flag on their accounts.  See the section 
  5594.                  on "User Account and File Maintenance" for details.  If a user does not select the sub-board and 
  5595.                  directory containing the file before attempting to download it, then the download/upload ratio will still 
  5596.                  be enforced.
  5597.               
  5598.                  The final prompt for the directory assignment asks you:
  5599.               
  5600.                  
  5601.  
  5602.               
  5603.  
  5604.  
  5605.  
  5606.  
  5607.  
  5608.               
  5609.                  No charge for downloads (Y/N) [N]:
  5610.               
  5611.                  
  5612.               
  5613.                  If your system bills user accounts by time, as opposed to expiration date, you can enter a "Y" here 
  5614.                  to inhibit time billing while a user downloads from this directory.  You may want to do this to make 
  5615.                  certain promotional files available completely free of charge.  If your system does not bill by time, then 
  5616.                  this field is ignored.  If a user does not select the sub-board and directory containing the file before 
  5617.                  downloading it, then he will be  charged, as usual.
  5618.               
  5619.                  NOTE:  You can have the same directory accessible from many different sub-boards, if you 
  5620.                  choose.  You can set different access levels for it, inhibit ratios, or disable billing differently in different 
  5621.                  places.  The system checks the directory restrictions when a user selects the sub-board and directory, an 
  5622.                  event that usually happens just prior to download.  These characteristics are assigned to file directories, 
  5623.                  not individual files.
  5624.               
  5625.                  After these prompts, you are again prompted to "Add, Change, Delete, List or Quit".  Enter "Q" 
  5626.                  to return to the Installation/Parameters menu when you are done making changes.
  5627.               
  5628.                  If a user selects the personal mail sub-board and enters "F", "D", or "U", then Bulletron does 
  5629.                  NOT prompt him to select a directory since there is only one.  If he selects the Apple  sub-board, 
  5630.                  however, and tries to list files, download or upload, then Bulletron shows him a menu like::
  5631.               
  5632.                  
  5633.               
  5634.                  Which subdistrict: 
  5635.               
  5636.                  A    Apple Utilities 
  5637.               
  5638.                  B    Apple Games 
  5639.               
  5640.                  D    Apple Terminal Programs
  5641.               
  5642.                  K    Return to main menu 
  5643.               
  5644.                  
  5645.               
  5646.                  Note that there is no "C" option in the menu.  That is  because we set its access level so high that 
  5647.                  only our SYSOPs can access it.  Nevertheless, all files uploaded on the Apple  sub-board will be stored 
  5648.                  in it.
  5649.               
  5650.                  If the user does an "F", "V" or "D" command and he selects subdistrict "B" at this prompt, then 
  5651.                  Bulletron reads a directory definition for board "APL" selection "B" and finds it refers to path-id 
  5652.                  "APLA".  Bulletron then reads the path definition record for "APLA" and gets the subdistrict path 
  5653.                  "E:\BBS\APPLE\GAMES".
  5654.               
  5655.                  There can be at most 35 subdirectories within each board, because hot-keys must be one 
  5656.                  keystroke and there are only 26 letters in the English alphabet and ten numerals, and one letter, "K" is  
  5657.                  reserved for an escape code.  Multiple subdistrict descriptions can refer to the same subdistrict.  This 
  5658.                  may happen if the same upload directory is used for multiple descriptions.  
  5659.               
  5660.                  The upload and download path-id may be the same so that an uploaded file can be downloaded 
  5661.                  immediately.
  5662.               
  5663.                  For a user to be able to see (and subsequently access) a subdistrict description, his access level 
  5664.                  must be at least as high as the access level defined for that description.
  5665.               
  5666.                  The selection letters do not have to be sequential, but "K" is reserved for returning to the main 
  5667.                  menu.  "U" could have been selected for utilities, "G" for games, "C" for communications programs, 
  5668.                  and so forth.  That way, if a user does not have access  to an area, it will not be as obvious as it would if 
  5669.                  the areas were  numbered or lettered sequentially.  It is also easier to remember your path-is codes if the 
  5670.                  menu selection letter somehow  indicates the subject matter for the directory.
  5671.               
  5672.                  5.4.11.3. The Download Database
  5673.               
  5674.  
  5675.               
  5676.  
  5677.  
  5678.  
  5679.  
  5680.  
  5681.                  Creating directories to allow users to download requires just three steps:
  5682.               
  5683.                      1.    Use the "PF" command to define a 4-letter abbreviation (path id) and the OS/2 path that it is to 
  5684.                      reference.  This way you only have to remember 4-letters, and not a 64-letter disk directory.
  5685.               
  5686.                      2.    Use the "PD" command to tell Bulletron what directories are going to be available on each 
  5687.                      sub-board.  You may want the same directory accessible from several sub-boards, or you may 
  5688.                      have some directories accessible only on a specific sub-board which requires a high access 
  5689.                      level to gain access.  The "PD" command lets you define up to 35 upload and download 
  5690.                      directories for each sub-board.
  5691.               
  5692.                      3.    If you have any files already in those OS/2 directories, then you must use the "+F" command, 
  5693.                      option "5", to cause Bulletron to load its database with the file names and descriptions of files 
  5694.                      already on the disk.  To add new files from a floppy disk to an existing directory later, you can 
  5695.                      use the "+F" command, option "9", which will copy the file from the floppy to the hard disk 
  5696.                      and prompt you for a description.
  5697.               
  5698.                  All this can be done while the BBS is online and users are actively downloading and uploading.
  5699.               
  5700.                  To add, delete, rename, move, any of the files, use the SYSOP "+F" command.  Remember, you 
  5701.                  do NOT have to bring Bulletron down to do file management.  It is all done while other users are online  
  5702.                  and uses can access the files immediately when you make them available.  Figure 5.4.11.3-1 shows the 
  5703.                  file management commands that are available to system operator accounts using the "+F" command.
  5704.               
  5705.               
  5706.  
  5707.  
  5708.  
  5709.  
  5710.  
  5711.                  Bulletron maintains a database on the files that users can download.  The database contains the 
  5712.                  path-id, file name, date of  last modification, file size, minimum access level required to see the file, a 
  5713.                  flag defining whether the file is private ("V)" to a specific user or password protected ("P"), the account 
  5714.                  of the private file or the password if password protected, a description of the file contents up to 9000 
  5715.                  characters in length, and a charge, in cents times ten, that a user's account is billed for downloading the 
  5716.                  file ($0 to $6,553.50).  Any of these fields may be modified by the SYSOP.  If the file is private (not 
  5717.                  TO the user attempting to download it) or the user's access level is too low to download it, then the file 
  5718.                  will not display to the user and he  cannot download it even if he guesses that it is there.  If the file is 
  5719.                  password protected, then the file will display, but Bulletron will prompt for the password before the 
  5720.                  user is allowed to download it.
  5721.               
  5722.                  Also, you can make a file downloadable only by a specific user, by naming that file 
  5723.                  "account.@nn" where "account" is the  user's 8-character account code, and "nn" is a decimal number 
  5724.                  between "00" and "99".  The "@" in the first character of the file  name extension tells Bulletron to not 
  5725.                  show this private file to other users even if they use the "FT" (Files True) command.
  5726.               
  5727.                  5.4.11.4. Importing File Descriptions from ASCII Text Files
  5728.               
  5729.                  When converting from another BBS software to Bulletron, or when adding a large number of 
  5730.                  new files to the Bulletron Download Database, it is sometimes inconvenient to retype the file 
  5731.                  descriptions.  You can create a text file containing the descriptions, then use function "I" in the 
  5732.                  BBUTIL2 program to preload these descriptions.
  5733.               
  5734.                  The Bulletron download database can be preloaded with descriptions and dummy entries so that 
  5735.                  you will not be prompted for the file descriptions when he uses the "+F" command, option  "5", to 
  5736.                  verify the directory against the actual files on the disk.
  5737.               
  5738.                  Input to this function is a "flat" ASCII text file containing records up to 9,000 bytes long.  Each 
  5739.                  line of the text file  represents one file description.  The path-id is in columns 1 thru  4 of each line.  
  5740.                  The file name, left justified and blank filled on the right, with a "."  separating the file name and 
  5741.                  extension, is in columns 5 thru 16 of each line.  The description of the file's contents is in columns 17 to 
  5742.                  the end of the line.  The record is terminated by a carriage return and line feed (control-M control-J).  
  5743.                  The description can be divided into multiple lines separated by a line feed (control-J) character without 
  5744.                  a preceding carriage return, and each line should be no more than 64 characters in length.  Inserting the 
  5745.                  line feed breaks, however, is not critical as Bulletron will automatically produce line breaks when the 
  5746.                  text is displayed to the user.  This allows each file  description to have approximately 140 70-character 
  5747.                  lines (over six screen-fulls of text).
  5748.               
  5749.                  Shown below is an example of a file description import file  for a few entries that we used on the 
  5750.                  "OS2" sub-board of our tech support system:
  5751.               
  5752.                  OS2A32PMCHES.ZIP  OS/2 2.0 Version of PmChess 1.02 (w/src).
  5753.               
  5754.                  OS2AADVENTP.ARC  The original Colossal Cave adventure game.
  5755.               
  5756.                  OS2AADVNTURE.ARCAdventure game.  Runs in DOS and OS/2.
  5757.               
  5758.                  OS2AAMFLAG.ZIP        American flag, music.
  5759.               
  5760.                  OS2CDUPCHK10.LZH Maximus dupe file checker.
  5761.               
  5762.                  OS2CMAIL1042.ZIP     Mailer for Simplex BBS.
  5763.               
  5764.                  OS2FALPM11.ZIP         Active-Life 1.1 for OS/2 PM!
  5765.               
  5766.                  OS2FALPM12.ZIP         Active Life for OS/2 PM version 1.2.
  5767.               
  5768.                  OS2FALPM15.ZIP         Active Life Time Planner v1.5 for PM.
  5769.               
  5770.                  OS2FAPPT.ZIP              OS/2 appointment calendar program.
  5771.               
  5772.                  OS2GIBMBLT17.ZIP       OS/2 image support; from IBM.
  5773.               
  5774.                  OS2GJPEG2OS2.ZIP    JPEG image compression/decompression.
  5775.               
  5776.                  OS2I3COM_MAC.COM  3Com Etherlink driver.
  5777.  
  5778.               
  5779.  
  5780.  
  5781.  
  5782.  
  5783.  
  5784.               
  5785.                  OS2I4019DRVR.ZIP        IBM Printer Driver for 4019 Laser.
  5786.               
  5787.                  OS2I4216AES.ZIP           OS/2 IBM printer support.
  5788.               
  5789.                  OS2JMS-ANN.ZIP            Microsoft announces Compilers for OS/2.
  5790.               
  5791.                  OS2JMSJV3-3.ZIP           Microsoft Journal OS/2 stuff.
  5792.               
  5793.                  OS2JMSJV46.ZIP            MicroSoft Systems Journal vol. 4 number 6.
  5794.               
  5795.                  OS2JMSJV5-1.ARC        PMBASIC Examples and others from MSJ
  5796.               
  5797.                  OS2JMSJV5-1.ZIP          PMBASIC Examples and others from MSJ
  5798.               
  5799.                  OS2LDMAKE35X.ZIP   DMAKE ported to OS/2.
  5800.               
  5801.                  OS2LDMAKE38A.ZIP  MAKE utility ,DMAKE, v3.8 w/source.
  5802.               
  5803.                  OS2LDMAKE38B.ZIP  DMAKE v3.8 - file 2 of 3
  5804.               
  5805.                  OS2LDMAKE38C.ZIP  DMAKE v3.8 - file 3 of 3
  5806.               
  5807.                  OS2MPIANO.EXE         IBM PM Demo of piano keyboard.
  5808.               
  5809.                  OS2MPMMIDDMP.ZIP PM MIDI Dump Utility (IOPL-Based).
  5810.               
  5811.                  
  5812.               
  5813.                  5.4.11.5. Importing Text Files into Bulletron Messages
  5814.               
  5815.                  There are three ways to get text such as menus, help messages, or long stories into Bulletron:
  5816.               
  5817.                      1.    The most obvious way is to just type it in using the Enter ("E") command to put the file into a 
  5818.                      message.  If files are going to be short, less than 9,000 bytes, it is most efficient to make them 
  5819.                      messages rather than separate disk files.
  5820.               
  5821.                      2.    The SYSOP can also make a message from a disk file by using "E@", or copy a message to a 
  5822.                      disk file by using the  "%" command after reading the message.  The SYSOP can  also add a 
  5823.                      comment to the message where the comment is a disk file by entering "@" rather than C after 
  5824.                      reading a  message.  Be sure that the file which you create with your word processor is an 
  5825.                      ASCII non-document text file.  It should not contain any special characters intended to 
  5826.                      provide formatting information for your particular word processor.  The SYSOP can read files 
  5827.                      from the floppy drive by prefixing the file name with A:, but the user cannot use the ":", "\" or 
  5828.                      "/" in a filename.
  5829.               
  5830.                      3.    The third way is the BBUTIL2 program.  BBUTIL2 contains several functions for importing 
  5831.                      and exporting Bulletron messages.
  5832.               
  5833.                  5.4.11.6. Private Files
  5834.               
  5835.                  Bulletron provides several methods of making specific files and groups of files accessible only to 
  5836.                  a certain user or group of users.  If you want a file to only be accessible by a specific user, then you can 
  5837.                  name the file "account.@nn" where "account" is the account code of the user that you want to 
  5838.                  download the file, and "nn" is a two digit decimal number between "00" and "99".  The "@" sign in the 
  5839.                  first character of the file name extension tells Bulletron that only the user whose account code is the 
  5840.                  same as the  file name can see the file in the directory or download it, If any user other than "account" 
  5841.                  does a directory or tries to download it, the file will "not be found".  If a user uploads a file with 
  5842.                  filename "account.@nn", and that exact file name is already present in the directory to which he is 
  5843.                  uploading, then Bulletron adjusts "nn" to be the next decimal number higher than any present in the 
  5844.                  directory.  When the upload is complete, Bulletron creates mail messages to SYSOP and to "account", 
  5845.                  notifying them of the  upload.  At 3:00 AM, when Bulletron purges messages, it also checks for files in 
  5846.                  the personal mail download directory which also exceed the day limit and deletes them.  If a file is 
  5847.                  purged, a message will be put into the system log indicating that the system deleted it.  
  5848.               
  5849.                  You can also make a file private to a specific user, without giving it a funny file name, by setting 
  5850.  
  5851.               
  5852.  
  5853.  
  5854.  
  5855.  
  5856.  
  5857.                  the "V" flag for it in the Download Database.  Use the "+F" command, option "3" to modify the 
  5858.                  Download Database entry for the file.  When Bulletron prompts you with:
  5859.               
  5860.                  
  5861.               
  5862.                  'From' account [SYSOP   ]:
  5863.               
  5864.                  
  5865.               
  5866.                  Enter the account code of the person to who you want to give exclusive access to the file.  The 
  5867.                  value in brackets is the former contents of the field.  If you just press [ENTER} then it will remain 
  5868.                  unchanged.  The default value is YOUR account code.  You don't want that unless you plan to make the 
  5869.                  file private to yourself.  At the next prompt,
  5870.               
  5871.                  
  5872.               
  5873.                  Flag V or P [ ]:
  5874.               
  5875.                  
  5876.               
  5877.                  Enter "V" to make the file viewable only by the specified account code.  Then at the prompt:
  5878.               
  5879.                  
  5880.               
  5881.                  Access level [1000]:
  5882.               
  5883.                  
  5884.               
  5885.                  assign an access level that is less than or equal to that of the intended recipient.  Once again, the 
  5886.                  value in brackets is the current value, which will be retained if you just press [ENTER].
  5887.               
  5888.                  At the next prompt,
  5889.               
  5890.                  
  5891.               
  5892.                  Bulletin N/Y/F/P [N]:
  5893.               
  5894.                  
  5895.               
  5896.                  enter "N" because the file is not a bulletin (bulletins are discussed in a later section of this 
  5897.                  manual).  In this case, the former setting is correct.
  5898.               
  5899.                  
  5900.               
  5901.                  Notify sysop [N]:
  5902.               
  5903.                  
  5904.               
  5905.                  If you enter "Y" here, you will receive a system generated message in your private mail when the 
  5906.                  user downloads the file.  Finally, Bulletron asks,
  5907.               
  5908.                  
  5909.               
  5910.                  Change description (Y/[N]):
  5911.               
  5912.                  
  5913.               
  5914.                  You can change the 9,000 character description of the file here if you want.  If you want a file to 
  5915.                  be private to a certain group of  people, then use the above method, but set the file's flag to "P"  instead 
  5916.                  of "V".  The file will be password protected and the value that you placed in the "from account" will be 
  5917.                  its password.  You can then make the file accessible to anyone by telling them the  password.
  5918.               
  5919.                  You can also make a file private to a group of people, such as "subscribers only", or "company 
  5920.                  employees only" by setting the  access level for the file high enough that only that group of  people can 
  5921.                  see it.
  5922.               
  5923.  
  5924.               
  5925.  
  5926.  
  5927.  
  5928.  
  5929.  
  5930.                  Note that, when Bulletron selects files for display to a user backwards by date, or new since last 
  5931.                  logon, Bulletron selects the  files by the date and time that you last updated the Download Database for 
  5932.                  that file.  It then shows the true date and time of the file to the user.  If you add a large batch of files to 
  5933.                  your  system all at once, as in the addition of a CD-ROM, the system displays all the files with the "FL" 
  5934.                  command, even though some of them may actually be many years old.  If you want your users to notice 
  5935.                  some files that they have been overlooking, you can use  "+F", function "5", on that directory and 
  5936.                  answer "Y" when the system asks you if you want to change the upload dates for the files to today.  
  5937.                  Bulletron will then tell users that all those files are new since their last logon.  If  someone uploads a 
  5938.                  file that is several months old, but new to your system, then the system will present it as a new file 
  5939.                  because it is new to your system.
  5940.               
  5941.                  5.4.11.7. File Attachments
  5942.               
  5943.                  At times, there are files that must be downloaded together to be usable.  This might occur in the 
  5944.                  case of a software vendor, who produces several different versions of his software, all of which share 
  5945.                  various subsets of common utility files.  For example, in  the case of a producer of accounting software, 
  5946.                  there might be an Accounts Payable module, an Accounts Receivable module, an Inventory Tracking 
  5947.                  module and a Job Costing module, each of which  requires a General Ledger module and a collection of 
  5948.                  data entry and printer support utilities and some data files.  One solution  would be to pack up the 
  5949.                  General Ledger, the utilities and the data files in each of the separate packages.  This, however, not only 
  5950.                  wastes disk space, but also wastes human effort because each of  the packages would have to be 
  5951.                  updated each time that one of the common files is changed.  This approach can also lead to costly errors 
  5952.                  and irritated customers, if one of the packages is missed  during the update.
  5953.               
  5954.                  A better approach to solving the above problem is to have one  copy of each the General Ledger 
  5955.                  module, the utilities, and data files, in separate files, and somehow attach them to each of the  main 
  5956.                  software packages.  Bulletron provides for subsidiary files to  be attached to a main file by a 
  5957.                  mechanism called "file attachments".  To attach one file to another, modify the description of the main 
  5958.                  file by adding a line to it, stating the  path-id and name of the attached file.  File attachment lines are 
  5959.                  fairly simple.  The first character of the line must be an "@" sign.  Immediately after the "@" sign, type 
  5960.                  the four character Bulletron path-id for the path where the file resides.  Immediately after that, type the 
  5961.                  name of the file, up to 12 characters.  The  file name can be terminated by a space character, and 
  5962.                  comments can  be placed on the rest of the line.  File attachment lines do not necessarily have to be at 
  5963.                  the end of the file description, but they can not be at the beginning.  The BBS program searches for the 
  5964.                  sequence "linefeed-@" to locate file attachment lines, so if  the first character of the file is an "@" sign, 
  5965.                  then that line will not be recognized as a file attachment line.  File  attachment lines can be interspersed 
  5966.                  throughout the file description, with paragraphs of text in between describing the attachments.  
  5967.               
  5968.                  As an example, suppose that "FILE1.ZIP", "FILE2.ZIP" and "FILE3.ZIP" are main files, and 
  5969.                  "FILEA.ZIP", "FILEB.ZIP", "FILEC.ZIP", and "FILED.ZIP" are common attachments.  "FILEA.ZIP" 
  5970.                  and "FILEB.ZIP" are in a directory known to the BBS by the path-id "SYSA".  "FILEC.ZIP" and 
  5971.                  "FILED.ZIP" are in a directory known to the BBS by the path-id "UTIL".  The other files are in a 
  5972.                  directory known to the system by the path-id "MAIN".  The descriptions for the files read:
  5973.               
  5974.                  
  5975.               
  5976.                  FILE1.ZIP
  5977.               
  5978.                  This is the main file for the first program.
  5979.               
  5980.                  @SYSAFILEA.ZIP - data entry utility
  5981.               
  5982.                  @SYSAFILEB.ZIP - printer utility
  5983.               
  5984.                  @UTILFILEC.ZIP - database utility
  5985.               
  5986.                  @UTILFILED.ZIP - display utility
  5987.               
  5988.                  
  5989.               
  5990.                  FILE2.ZIP
  5991.               
  5992.                  This is the main file for the second program.
  5993.               
  5994.                  @SYSAFILEA.ZIP - data entry utility
  5995.               
  5996.  
  5997.               
  5998.  
  5999.  
  6000.  
  6001.  
  6002.  
  6003.                  @UTILFILEC.ZIP - display utility
  6004.               
  6005.                  
  6006.               
  6007.                  FILE3.ZIP
  6008.               
  6009.                  This third program requires the first and second programs
  6010.               
  6011.                  and FILEC.ZIP.  FILEC.ZIP is attached here to make sure it
  6012.               
  6013.                   is not omitted if it becomes no longer required by FILE1.ZIP
  6014.               
  6015.                  or FILE2.ZIP.
  6016.               
  6017.                  @MAINFILE1.ZIP
  6018.               
  6019.                  @MAINFILE2.ZIP
  6020.               
  6021.                  @UTILFILEC.ZIP
  6022.               
  6023.                  
  6024.               
  6025.                  If a user requests to download FILE1.ZIP, he will automatically receive FILEA.ZIP, FILEB.ZIP, 
  6026.                  FILEC.ZIP and FILED.ZIP.  If he  requests to download FILE2.ZIP, he will also receive FILEA.ZIP 
  6027.                  and FILEC.ZIP.  If he requests to download FILE3.ZIP, then he will receive FILE1.ZIP, FILEA.ZIP, 
  6028.                  FILEB.ZIP, FILEC.ZIP, FILED.ZIP, and FILE2.ZIP as well.  The BBS program is smart enough to 
  6029.                  know that the FILEA.ZIP and FILEC.ZIP attachments to FILE1.ZIP, as well as the FILEC.ZIP 
  6030.                  attachment to FILE3.ZIP, are redundant, and will not send them twice.
  6031.               
  6032.                  If you attach files recursively, that is, File A is attached to File B, which is attached to File C, 
  6033.                  which is attached to File A, the BBS program will ignore file attachments that it has already queued, 
  6034.                  thus eliminating the possibility of an endless loop.  File attachments can be nested arbitrarily deep with 
  6035.                  no impact on the performance of the system.  Bulletron's internal file batch table has a capacity of 
  6036.                  10,000 entries, which should be sufficient for most individual transfers.
  6037.               
  6038.                  When assembling a batch with file attachments, the BBS program verifies that the user has 
  6039.                  sufficient privilege to download the main file and each attached file.  If the user does not have sufficient 
  6040.                  privilege, or session time remaining, to download any of the attachments, then he will be prohibited 
  6041.                  from downloading the entire set.  
  6042.               
  6043.                  To make the file attachments more visible, you may want to use the "PXP" command, function 
  6044.                  "2" to disable automatic line wrap for file descriptions.  Line wrap happens at the time when the file 
  6045.                  description is displayed, and file descriptions are stored exactly as you type them, so file attachments 
  6046.                  will not be lost if you enable line wrap for file descriptions, but they may look messy.
  6047.               
  6048.                  5.4.11.8. FAXback Feature Setup
  6049.               
  6050.                  If you configure your computer with a modem that is capable of transmitting FAX documents 
  6051.                  and install software for transmitting FAX documents, then you can configure Bulletron so that users 
  6052.                  can have the BBS transmit FAX documents that you have stored on disk to their FAX machines.  This 
  6053.                  feature becomes particularly useful if you are running a technical support BBS, because your FAX 
  6054.                  document files can contain diagrams or illustrations that would be impossible to represent in a plain 
  6055.                  ASCII text file.  The way that this feature works is by identifying for Bulletron a special printer device, 
  6056.                  which is actually the driver for your FAX transmission software.  A good example of this kind of FAX 
  6057.                  transmission software is FaxWorks, which is a product of  SofNet, Inc. (telephone 404-984-8088).  One 
  6058.                  component of FaxWorks is a device driver that looks like a line printer device to OS/2 programs, but in 
  6059.                  actuality transmits the files that it "prints" over a FAX modem connected to your computer's COM1 or 
  6060.                  COM2 port.  Note here, that installation of FaxWorks makes the serial port and modem that it uses 
  6061.                  unavailable for use by the BBS.  If you plan to use this feature, then you should plan on another serial 
  6062.                  port, modem and telephone line, in addition to those that you plan to use for the BBS.
  6063.               
  6064.                  The files in which you store FAX documents will usually be special ASCII text files, in which 
  6065.                  you have embedded special codes for controlling type size, positioning, embedded illustrations, and so 
  6066.                  forth.  They may also be TIFF format image files that were received by a FAX modem or prepared 
  6067.                  using a document scanner.  The exact nature  of these files will depend on the FAX transmission 
  6068.                  program that you select.  All that is relevant to Bulletron is that the FAX documents be stored in files 
  6069.  
  6070.               
  6071.  
  6072.  
  6073.  
  6074.  
  6075.  
  6076.                  on your disk, that the FAX transmission software appear like a printer device, and that the simulated 
  6077.                  printer device be able to transmit those document files if given their directory paths and file names.
  6078.               
  6079.                  Once you have installed your FAX modem and FAX transmission software, and verified that it is 
  6080.                  working properly and not interfering with your BBS, you begin the setup for the FAXback feature by 
  6081.                  using the "PF" command to establish the four character path-IDs for the file directories in which you 
  6082.                  will place the FAX document files.  Section 5.4.11.1 gives detailed instructions on the use of the "PF" 
  6083.                  command for defining directory path-IDs.  Once you have established the four character path-IDs for 
  6084.                  the file directories that contain your FAX documents, you must log onto your BBS as the system 
  6085.                  operator and use the "+F" command, function "5" to create file descriptions for those files and records 
  6086.                  for them in your Download Database.  You can also preload the Download Database using function "I" 
  6087.                  of the BBUTIL2 program, which is discussed later, in section 6.12.1.18.  Once you have established 
  6088.                  records for the FAX document file in your BBS' Download Database, you then use the "PXX" 
  6089.                  command to assign those file directory path-IDs to sub-boards in your system, thus making them 
  6090.                  available to your callers.  
  6091.               
  6092.                  The "PXX" command is very similar to the "PD" command that you use for assigning file 
  6093.                  directory path-IDs to sub-boards for downloadable files.  The difference is that the directory/sub-board 
  6094.                  associations established with the "PXX" command are visible to the users by way of the "X" 
  6095.                  commands, whereas those that you create using the "PD" command are visible to users by way of the 
  6096.                  "F" commands.  Also, your users can not use the "D" and "U" commands on  directory/sub-board 
  6097.                  associations that you create using the "PXX" command for downloading and uploading files.  Note, 
  6098.                  however, that because the records for your FAX document files are stored in the Download Database, 
  6099.                  you can use all the same access level, account code and password protections on FAX documents that 
  6100.                  you can apply to downloadable files.  You can make a FAX document private to a specific account by 
  6101.                  giving it a file name of the form "account.@nn", as with a downloadable private file.  You can also use 
  6102.                  file attachments in the descriptions for FAX documents to cause certain documents to be automatically 
  6103.                  included with others, as with downloadable files.
  6104.               
  6105.                  The  dialogue for defining a FAX document directory begins with:
  6106.               
  6107.                  
  6108.               
  6109.                  Board Abbreviation:
  6110.               
  6111.                  
  6112.               
  6113.                  At this point, you enter the three character abbreviation for the sub-board upon which you want the 
  6114.                  FAX document directory to appear.  After entering the sub-board abbreviation, Bulletron asks you for:
  6115.               
  6116.                  
  6117.               
  6118.                  Selection Letter:
  6119.               
  6120.                  
  6121.               
  6122.                  You can choose any letter , A - Z, or numeral, 0 - 9, except "K", which is used as an escape back to the 
  6123.                  main system prompt.  Each Bulletron sub-board can have up to 35 different FAX document directories.  
  6124.                  Once you enter the sub-board abbreviation and menu selection character, Bulletron confirms this with:
  6125.               
  6126.                  
  6127.               
  6128.                  FAX document subdistrict path for bbb selection x
  6129.               
  6130.                  
  6131.               
  6132.                  Bulletron then asks you for a verbal description of the files in that directory, which it can use for 
  6133.                  building the menu of directories that the user sees with the "X" command.  The prompt for this verbal 
  6134.                  description is:
  6135.               
  6136.                  
  6137.               
  6138.                  Description of subdistrict [ ]:
  6139.               
  6140.                  
  6141.               
  6142.  
  6143.               
  6144.  
  6145.  
  6146.  
  6147.  
  6148.  
  6149.                  You can enter up to 31 characters of verbal description.  Then the program asks you for the four 
  6150.                  character path-ID for the directory, or one of the directories, in which you placed the FAX document 
  6151.                  files:
  6152.               
  6153.                  
  6154.               
  6155.                  Path ID [ ]:
  6156.               
  6157.                  
  6158.               
  6159.                  Had this been a downloadable file directory setup ("PD" command), you would have been asked for a 
  6160.                  directory for uploads and a directory for downloads at this point, but FAX document directories only 
  6161.                  require one path-ID.  After you enter the path-ID, Bulletron prompts you for the feature access level 
  6162.                  required to see this directory:
  6163.               
  6164.                  
  6165.               
  6166.                  Access level required for this subdistrict [0]:
  6167.               
  6168.                  
  6169.               
  6170.                  After entering the access level required, Bulletron asks you for the name of the simulated line 
  6171.                  printer driver provided by your FAX transmission software.
  6172.               
  6173.                  
  6174.               
  6175.                  Device name of FAX printer driver [ ]:
  6176.               
  6177.                  
  6178.               
  6179.                  This might typically be a code like "LPT3", or "LPT4", though you are allowed to enter up to fifteen 
  6180.                  characters.  The name of the simulated printer is something that you will have selected while installing 
  6181.                  the FAX transmission software.  After entering the device name, Bulletron asks you for some 
  6182.                  information that you can have appear on the cover sheet for your FAX transmissions.  The first item 
  6183.                  that it asks for is:
  6184.               
  6185.                  
  6186.               
  6187.                  Name to appear on cover sheet, "*" for default [*]:
  6188.               
  6189.                  
  6190.               
  6191.                  For this, you might want to put the name of a service representative in the department which handles 
  6192.                  matters related to the FAX documents in that specific directory.  The "default" for this item, and those 
  6193.                  that follow, are values that you can define in the setup screens for FaxWorks, or other FAX 
  6194.                  transmission software.  The second cover sheet item is:
  6195.               
  6196.                  
  6197.               
  6198.                  Company name to appear on cover sheet, "*" for default [*]:
  6199.               
  6200.                  
  6201.               
  6202.                  In most cases, you will let the company name default, though, if you are a service bureau or a vendor 
  6203.                  for others' products, you may want to assign a different company name for the cover sheet of FAX 
  6204.                  documents in a specific directory.  After the company name, Bulletron prompts you for:
  6205.               
  6206.                  
  6207.               
  6208.                  Company voice phone to appear on cover sheet, "*" for default [*]:
  6209.               
  6210.                  
  6211.               
  6212.                  For this, you would want to specify a phone number that corresponds with the company name given in 
  6213.                  the prior item.  After the company voice phone number, Bulletron prompts you for the corresponding 
  6214.                  company FAX phone number:
  6215.  
  6216.               
  6217.  
  6218.  
  6219.  
  6220.  
  6221.  
  6222.               
  6223.                  
  6224.               
  6225.                  Company FAX phone to appear on cover sheet, "*" for default [*]:
  6226.               
  6227.                  
  6228.               
  6229.                  After the company FAX phone number, Bulletron allow you to specify comments that can appear on 
  6230.                  the cover sheet and in the page headings of each FAX, and a comment that will be placed in the FAX 
  6231.                  Log each time that the document is transmitted:
  6232.               
  6233.                  
  6234.               
  6235.                  Comment to appear on cover sheet, "*" for default [*]:
  6236.               
  6237.                  Comment to appear in page headings, "*" for default [*]:
  6238.               
  6239.                  Comment to appear in FAX Log, "*" for default [*]:
  6240.               
  6241.                  For each of these, you can specify up to 31 characters.  Next, Bulletron asks you for a file specification 
  6242.                  to allow you to specify a bitmap (.BMP) file that contains your company logo or trademark, to appear 
  6243.                  on the cover sheet:
  6244.               
  6245.                  
  6246.               
  6247.                  File spec for cover sheet bitmap, "*" for default [*]:
  6248.               
  6249.                  
  6250.               
  6251.                  This file specification can be up to 31 characters.  After the cover sheet artwork, you get to specify 
  6252.                  whether you want documents in the directory to be sent with a full cover sheet, a short cover sheet, or 
  6253.                  no cover sheet:
  6254.               
  6255.                  
  6256.               
  6257.                  Cover sheet size (0=short, 1=full, 2=none) [0]:
  6258.               
  6259.                  
  6260.               
  6261.                  After specifying the cover sheet size, you can specify the font for documents in that directory:
  6262.               
  6263.                  
  6264.               
  6265.                  Font name, "*" for default [*]:
  6266.               
  6267.                  
  6268.               
  6269.                  In most cases, you will let the font name default, having the font specified by special control codes 
  6270.                  within the FAX document file itself.  Along with the font name for documents in that directory, 
  6271.                  Bulletron allows you to specify the point size for that font:
  6272.               
  6273.                  
  6274.               
  6275.                  Point size, "*" for default [*]:
  6276.               
  6277.                  
  6278.               
  6279.                  Again, you will probably allow the point size to default, having specified it for each document using 
  6280.                  special control codes within each document file.  Along with the font name and size, you can also 
  6281.                  specify special tab spacing for documents in that directory, when appropriate:
  6282.               
  6283.                  
  6284.               
  6285.                  Tab spacing, "*" for default [*]:
  6286.               
  6287.                  
  6288.  
  6289.               
  6290.  
  6291.  
  6292.  
  6293.  
  6294.  
  6295.               
  6296.                  Finally, after the tab spacing, Bulletron allows you to specify a page length and orientation for 
  6297.                  documents in that directory:
  6298.               
  6299.                  
  6300.               
  6301.                  Page length in inches, "*" for default [*]:
  6302.               
  6303.                  Page orientation (0=portrait, 1=landscape) [0]:
  6304.               
  6305.                  
  6306.               
  6307.                  The default page length, which you can specify with the setup screens for FaxWorks or other FAX 
  6308.                  transmission software, will probably be 11 inches.
  6309.               
  6310.                  When you complete this dialogue, Bulletron saves the setup for the FAX document file directory, 
  6311.                  and allows you to add, change or delete other FAX directories.  Enter "Q" to quit back to the Extended 
  6312.                  Features Menu when done.
  6313.               
  6314.                  5.4.12. Matchmaker Questionnaires
  6315.               
  6316.                  Every Bulletron sub-board can have a n optional feature called its "matchmaker questionnaire.  
  6317.                  An obvious connotation of "matchmaking" would be a computer dating service.  Many people use 
  6318.                  Bulletron for this.  It could also mean matching people with job offerings in an employment database, 
  6319.                  matching home buyers with properties in a  real estate database, or any number of applications.
  6320.               
  6321.                  Bulletron provides three basic types of matchmaker questionnaires:  multiple choice, essay, and 
  6322.                  combined.  Then a variant of the essay questionnaire is the order-entry form, which has special features 
  6323.                  for instant, on-line validation of VISA,  MASTERCARD, American Express and Discover Card 
  6324.                  charges.
  6325.               
  6326.                  5.4.12.1. Multiple Choice Questionnaires
  6327.               
  6328.                  After you set up a sub-board, using the "PB" command, for a special feature type indicating a 
  6329.                  matchmaker (types "A", "M", "T", "C", "O" or "F"), you must create a matchmaker questionnaire form 
  6330.                  as a message to a special account on your "utilities" sub-board.
  6331.               
  6332.                  The account code for the questionnaire message is "QUESTxxx", where "xxx" is the 3-character 
  6333.                  abbreviation for the sub-board.  Multiple choice questionnaires can have up to 30 questions and  each 
  6334.                  question can have up to 16 replies.  There can be fewer than 16 replies, but they must be lettered 
  6335.                  sequentially, beginning with "A".  If there are only 3 replies, they must be "A", "B", "C", not "A", "E", 
  6336.                  "H".  Except for the first column, there cannot be an asterisk (*) or "#" used in the text of the 
  6337.                  questionnaire.  The questionnaire can  be free form within certain bounds.  Examine the following 
  6338.                  questionnaire:
  6339.               
  6340.                  
  6341.               
  6342.                  *181. Area I live in:
  6343.               
  6344.                    A) Los Angeles area (all of LA. & Orange counties)
  6345.               
  6346.                    B) Southern Calif. (other than Los Angeles area)
  6347.               
  6348.                    C) Northern Calif.
  6349.               
  6350.                    D) East Coast-New England
  6351.               
  6352.                    E) The Southeastern United States
  6353.               
  6354.                    F) The Midwest
  6355.               
  6356.                    G) Rocky Mountain-Southwest
  6357.               
  6358.                    H) Pacific Northwest
  6359.               
  6360.                  *182. My age:
  6361.  
  6362.               
  6363.  
  6364.  
  6365.  
  6366.  
  6367.  
  6368.               
  6369.                    A) under 18
  6370.               
  6371.                    B) 18-20
  6372.               
  6373.                    C) 21-25
  6374.               
  6375.                    D) 26-29
  6376.               
  6377.                    E) 30-34
  6378.               
  6379.                    F) 35-39
  6380.               
  6381.                    G) 40-49
  6382.               
  6383.                    H) 50 and over
  6384.               
  6385.                  *183. My profession:
  6386.               
  6387.                    A) student
  6388.               
  6389.                    B) blue collar
  6390.               
  6391.                    C) clerical
  6392.               
  6393.                    D) professional
  6394.               
  6395.                    E) technical
  6396.               
  6397.                    F) entertainment
  6398.               
  6399.                    G) medical
  6400.               
  6401.                    H) unemployed
  6402.               
  6403.                  *184. I am interested in:
  6404.               
  6405.                    A) sports cars
  6406.               
  6407.                    B) racing cars
  6408.               
  6409.                    C) vintage cars
  6410.               
  6411.                    D) 4x4 trucks
  6412.               
  6413.                    E) pickup trucks
  6414.               
  6415.                    F) motorcycles
  6416.               
  6417.                    G) dirt bikes
  6418.               
  6419.                    H) ATVs
  6420.               
  6421.                  ************
  6422.               
  6423.                  
  6424.               
  6425.                  Notice the "*181."  on the first line of the questionnaire.  The "*" signals the beginning of a 
  6426.                  question.  The first "1" means that there can be at most 1 response.  This can be any number from "1" to 
  6427.                  "9", then "A" through" G" depending on the question.  The "8" means there are 8  responses possible.  
  6428.                  This can also vary from "1" to "G". The "1."  is the question number.  THE QUESTION IS 
  6429.                  TERMINATED BY A COLON, AND EACH RESPONSE IS SEPARATED BY A RIGHT 
  6430.                  PARENTHESIS ")".  These key points must be present or the matching routine will not work.
  6431.               
  6432.                  There should be no blank lines within the questionnaire.  The match questionnaire must be no 
  6433.                  more than 9,000 characters in length to fit within a message.  The format is the same for both match to 
  6434.  
  6435.               
  6436.  
  6437.  
  6438.  
  6439.  
  6440.  
  6441.                  accounts and to messages.  The questions can span multiple lines and must be terminated by a colon, 
  6442.                  the responses must fit on one line and are terminated by a carriage return.  The  row of "***" at the end 
  6443.                  signals the end of all the questions.
  6444.               
  6445.                  The question can begin with "*" or "#".  If the question begins with "#" and the user uses the 
  6446.                  quick match feature ("MS QUICK" or "MP" commands), it will EXCLUDE any account or message  
  6447.                  whose response matches the user doing the search.  If question 3, for example, is 
  6448.               
  6449.                  
  6450.               
  6451.                  #123. My sex is:
  6452.               
  6453.                    A) male
  6454.               
  6455.                    B) female
  6456.               
  6457.                  
  6458.               
  6459.                  then any males doing an "MS Q" will only match to females and females will only match to 
  6460.                  males.
  6461.               
  6462.                  To create or change a questionnaire, construct the  questionnaire off line with your text editor, log 
  6463.                  on to Bulletron, select your "utilities" sub-board, and enter "E@ QUESTxxx" where  "xxx" is the board 
  6464.                  abbreviation where the questionnaire is to be used.  The "E@" will cause Bulletron to get the 
  6465.                  questionnaire from a  disk file.  Be sure to remove the old questionnaire by entering "RA QUESTxxx" 
  6466.                  and respond with "D" to delete it.  You will also want to delete all the users old responses so they will 
  6467.                  re-answer  the questionnaire again.  Use the "+" command, option "7", to delete the match 
  6468.                  questionnaires for that board.  Be sure that the  file containing the questionnaire is in the same directory 
  6469.                  as the  BBS program itself.  You can also prepare all your matchmaker  questionnaires off-line and use 
  6470.                  the BBUTIL2 program to load all  your "*.UTL" files into messages on your "utilities" sub-board.
  6471.               
  6472.                  When you create a new questionnaire, be sure to log onto your BBS and test it by answering the 
  6473.                  questions yourself.  If you get the error message:
  6474.               
  6475.                  
  6476.               
  6477.                  ERROR IN QUESTIONNAIRE.  DO A MQ
  6478.               
  6479.                  
  6480.               
  6481.                  it means there is an error in your definition of the questionnaire.  Enter command, "MQ", and the 
  6482.                  system will give you more information about which line contains the error.  It will stop displaying at 
  6483.                  the point of the error.  Be sure not to use any "*" (asterisks), "#", or ")" in the responses or questions 
  6484.                  except where Bulletron expects them as delimiters, and make sure  that there are no blank lines at the 
  6485.                  beginning of the message. 
  6486.               
  6487.                  Note also that Bulletron will only prompt the user for one questionnaire per logon including the 
  6488.                  verify questionnaire.  So if  you are using the verify questionnaire and have 7 questionnaires on 7 
  6489.                  separate sub-boards, the user will have to log on 8 times 
  6490.               
  6491.                  before he will be prompted to answer all the questionnaires.  This prevents the user from 
  6492.                  spending all his session time answering questionnaires and not getting to see the rest of the BBS.
  6493.               
  6494.                  5.4.12.2. Essay Questionnaires
  6495.               
  6496.                  The essay (fill-in-the-blank) questionnaire allows users to enter anything they please rather than 
  6497.                  being limited to just those responses you provide.  The example below shows the form of a typical 
  6498.                  essay questionnaire:
  6499.               
  6500.                  
  6501.               
  6502.                  *Name:
  6503.               
  6504.                  *Address:
  6505.               
  6506.                  *Occupation:
  6507.  
  6508.               
  6509.  
  6510.  
  6511.  
  6512.  
  6513.  
  6514.               
  6515.                  *If an omnipotent genie granted you three wishes,
  6516.               
  6517.                  what would you ask for:
  6518.               
  6519.                  ********
  6520.               
  6521.                  
  6522.               
  6523.                  Each question begins with an asterisk ("*") and ends with a colon (":").  The last line should 
  6524.                  contain nothing but asterisks, at least three of them, to tell Bulletron where the questionnaire  ends.  
  6525.                  Place the questionnaire message on your "utilities" sub-board as a message to account "QUESTxxx" 
  6526.                  where "xxx" is the three character sub-board abbreviation.  When a user fills out the  questionnaire, 
  6527.                  Bulletron merges the questions and his responses into a standard Bulletron message.  The form plus the 
  6528.                  users responses must fit within a 9,000 byte message.
  6529.               
  6530.                  5.4.12.3. Combined Questionnaires
  6531.               
  6532.                  The "combined" questionnaire contains a multiple choice questionnaire which is useful in doing a 
  6533.                  match search along with an essay questionnaire which allows the user to express himself in his own 
  6534.                  words.  Create a multiple choice questionnaire as described previously including the string of asterisks 
  6535.                  (******) at the end.  Follow that with the essay questionnaire described above.  Both parts must fit 
  6536.                  within the same message.  For example:
  6537.               
  6538.                  
  6539.               
  6540.                  #121. My sex is:
  6541.               
  6542.                    A) male
  6543.               
  6544.                    B) female
  6545.               
  6546.                    ********
  6547.               
  6548.                  *If you and I were shipwrecked on a desert island, I would:
  6549.               
  6550.                  
  6551.               
  6552.                  5.4.12.4. Order Entry and Verify Questionnaires
  6553.               
  6554.                  If you plan to use one or more of your sub-boards as a "mail order store", then you have already 
  6555.                  set the Special Feature code for that board to an "O" (for Order entry).  You now need a form that the 
  6556.                  user fills in with his name, address, credit card information, etc.. to complete the order.  The order entry 
  6557.                  form is free form like an essay questionnaire, but the form plus the  user's responses must be able to fit 
  6558.                  within a 9,000 byte message.  Examine the following form:
  6559.               
  6560.                  
  6561.               
  6562.                  *Name:
  6563.               
  6564.                  *Street Address:
  6565.               
  6566.                  *City, State Zipcode:
  6567.               
  6568.                  *Telephone #:
  6569.               
  6570.                  *[CC#]:
  6571.               
  6572.                  *Item or message number:
  6573.               
  6574.                  *Quantity:
  6575.               
  6576.                  *Description:
  6577.               
  6578.                  *Price:
  6579.               
  6580.  
  6581.               
  6582.  
  6583.  
  6584.  
  6585.  
  6586.  
  6587.                  *Tax and shipping will be added
  6588.               
  6589.                    acknowledge by entering YES:
  6590.               
  6591.                  ********************
  6592.               
  6593.                  
  6594.               
  6595.                  The asterisk ("*") signals the beginning of a question and the colon (":") signals the end of a 
  6596.                  question.  Except for the  first column, there cannot be an asterisk used in the text of the  questionnaire.  
  6597.                  A question can span more than one line such as the  last line in the example.
  6598.               
  6599.                  Certain "Macros" can be entered in brackets ([]) to perform special functions:
  6600.               
  6601.                     [NAME]will use the user's name from the account record as the  default if he presses return 
  6602.                       so he does not have to reenter it unless he used a handle or nickname, in which 
  6603.                       case he should enter his real name.              
  6604.               
  6605.                     [+]         means that this field is required, and one or more  characters must be entered.              
  6606.               
  6607.                     [@(999)/999-9999]     Accept format EXACTLY, where "9" means accept any decimal digit.  
  6608.                       Other characters, such as "(", ")", [@99] "/" and "-" must be entered exactly.              
  6609.               
  6610.                     [@     ]    means that the number of characters must be the same as the number of blanks 
  6611.                       after the "@" sign.              
  6612.               
  6613.                     [CC#]means prompt and validate a credit card number and  expiration date.  This 
  6614.                       verifies that the credit card number an expiration date conform to the checks 
  6615.                       imposed by VISA, MASTERCARD or American Express.  You will still need to 
  6616.                       phone in the charge to your credit card agency to verify that the card is not 
  6617.                       reported lost or stolen.              
  6618.               
  6619.                     [SYSINFO]   inserts a line with the user's password to check for duplicate accounts, and the 
  6620.                       system password used by the user for marketing.              
  6621.               
  6622.                  All user entered responses, including null responses, will begin on a new line preceded by "> " so 
  6623.                  that the data can be  scanned by a program and entered into another database if  necessary.  Everything 
  6624.                  in [] must be upper case.  NOTE:  be sure  you do not use the string "[enter]" to tell the user to press the  
  6625.                  enter key since Bulletron will try to interpret a special command when it encounters the brackets.
  6626.               
  6627.                  Here is an example of an order entry form that you might use to let people charge subscriptions 
  6628.                  for your BBS:
  6629.               
  6630.                  
  6631.               
  6632.                  *If you used a nickname or "handle" when logging on,
  6633.               
  6634.                    enter your REAL NAME, otherwise just press enter [NAME]:
  6635.               
  6636.                  *What is your area code and telephone number[@999/999-9999]: 
  6637.               
  6638.                  *What is your mailing street address[+]: 
  6639.               
  6640.                  *What is your mailing city, state[+]: 
  6641.               
  6642.                  *What is your ZIPCODE (5 digits US, 7 digits Canada)[@       ]:
  6643.               
  6644.                  *Master Card or Visa numbers[CC#]: 
  6645.               
  6646.                  *Amount you want to charge (@ $2.40/hour, $25.00 minimum):
  6647.               
  6648.                  
  6649.               
  6650.                  The response message that Bulletron would prepare and send to you in private mail would look 
  6651.                  like:
  6652.               
  6653.  
  6654.               
  6655.  
  6656.  
  6657.  
  6658.  
  6659.  
  6660.                  
  6661.               
  6662.                  *If you used a nickname or "handle" when logging on,
  6663.               
  6664.                     enter your REAL NAME, otherwise just press enter [NAME]: 
  6665.               
  6666.                  > Gary O. Young 
  6667.               
  6668.                  *What is your area code and telephone number[@999/999-9999]: 
  6669.               
  6670.                  > 612/894-5580
  6671.               
  6672.                  *What is your mailing street address[+]: 
  6673.               
  6674.                  > 1103 East Cliff Road
  6675.               
  6676.                  *What is your mailing city, state[+]: 
  6677.               
  6678.                  > Minneapolis, MN 
  6679.               
  6680.                  *What is your ZIPCODE (5 digits US, 7 digits Canada)[@       ] 
  6681.               
  6682.                  > 55337 
  6683.               
  6684.                  *Master Card or Visa numbers[CC#]: 
  6685.               
  6686.                  > Visa: 1234-2345-3456-4567 Exp 12/99 
  6687.               
  6688.                  *Amount you want to charge (@ $2.40/hour, $25.00 minimum):
  6689.               
  6690.                  > $25.00
  6691.               
  6692.                  
  6693.               
  6694.                  Note the [CC#] line.  When Bulletron encounters the special characters [CC#] (upper case), it 
  6695.                  will prompt and check both the  card number and expiration date.  The program understands 
  6696.                  Mastercard, Visa, American Express and Discover cards.  It checks for the  proper number of digits and 
  6697.                  computes and compares the check digit to minimize entry errors.  The expiration date is checked for 
  6698.                  being a valid date (MM/YY) and later than the current date.  It can not check whether or not the card 
  6699.                  has been reported lost or stolen.  Automatic methods of doing that are different for every bank.  Check 
  6700.                  with your bank for information on how to get credit card charges fully validated and make deposits.  
  6701.               
  6702.                  An order-entry form, like a matchmaker questionnaire is placed in a message on your "utilities" 
  6703.                  sub-board.  The "TO" account must be "QUESTnnn" where "nnn" is the sub-board abbreviation.
  6704.               
  6705.                  Normally, the system operator, or an assistant logs on and selects an order-entry sub-board to 
  6706.                  post messages containing items  to buy.  Therefore, when you, as SYSOP, enter a message on an 
  6707.                  order-entry sub-board you get the normal Enter command menu.  You  must log on as an account other 
  6708.                  than SYSOP to test out the order  entry form as a user would see it.  
  6709.               
  6710.                  You should set the summary type for order-entry sub-boards (using the "PB") command to "B".  
  6711.                  This will show a user the titles of all the messages on that sub-board every time the user selects that 
  6712.                  sub-board.  Because the messages do not change very often, if you set the summary type for "L" for 
  6713.                  "new messages since last logon", then users will seldom see your catalogs messages.
  6714.               
  6715.                  5.4.12.5. Verify Questionnaires
  6716.               
  6717.                  The verify questionnaire is a special case of an order entry form that you send to account code 
  6718.                  "VERIFYQU" on your "utilities" sub-board.  If you create this message, then each new user will be 
  6719.                  required to fill it out when they set up their account.  You use  this form to get the new user's real name, 
  6720.                  address, phone number and so forth so that you can verify their identity.  Experience  has shown that 
  6721.                  calling a new user back by voice to verify his application for a new account virtually eliminates people 
  6722.                  who use obscene language, try to sell stolen goods, drugs and other contraband.  It is generally a good 
  6723.                  idea to begin the form with a  statement that the information the user enters on it will be kept in strict 
  6724.                  confidentiality.  If you run a matchmaking dating service that caters to adult fetishes, you may also be 
  6725.                  required by the laws in your state or community to verify proof of age before  granting access to your 
  6726.  
  6727.               
  6728.  
  6729.  
  6730.  
  6731.  
  6732.  
  6733.                  BBS, as some of your messages and files  might be considered pornographic.  For your own marketing, 
  6734.                  you may also choose to include some questions about the user's profession  or hobby interests.  An 
  6735.                  example of a typical verify questionnaire  would be:
  6736.               
  6737.                  
  6738.               
  6739.                  *This is your "NEW ACCOUNT APPLICATION".
  6740.               
  6741.                    The information you provide here will be kept strictly
  6742.               
  6743.                    confidential.  You must answer truthfully and accurately
  6744.               
  6745.                    or you will not be granted access to this system
  6746.               
  6747.                    Please enter your real name here [NAME]:
  6748.               
  6749.                  *Street Address, or P.O. Box [+]:
  6750.               
  6751.                  *City, State, Zip [+]:
  6752.               
  6753.                  *Voice phone number [(999)999-9999]:
  6754.               
  6755.                  *Date of birth [99/99/99]:
  6756.               
  6757.                  *Best time to call for verification:
  6758.               
  6759.                  *How were you referred to our service:
  6760.               
  6761.                  *Access on this service is a privilege, not a right.
  6762.               
  6763.                  It is granted providing you do not post any illegal or
  6764.               
  6765.                    objectionable information in public messages.
  6766.               
  6767.                    Do you agree with the terms and conditions of this
  6768.               
  6769.                    service? [SYSINFO]:
  6770.               
  6771.                  
  6772.               
  6773.                  For the final question of this verify questionnaire, the  response that you would receive in private 
  6774.                  mail would look like:
  6775.               
  6776.                  
  6777.               
  6778.                  > SYSINFO DATSUN  CAMERA    Y
  6779.               
  6780.                  When you read the response to the verify questionnaire in your private E-mail it is a good idea to 
  6781.                  use the "%" post-read function to save them to disk files.  You can name then with the  user's account 
  6782.                  code as the file name and ".APP' as the file name extension (for APPlication form").  After saving them 
  6783.                  to disk, you can delete them so they don't clutter up your mail.
  6784.               
  6785.                  Some operators find it convenient to make a special sub-board that only the SYSOP can access.  
  6786.                  When they receive a response to a verify questionnaire in private mail, they move it to that sub-board, 
  6787.                  using the "T" post-read function.  Then, at a more appropriate time, they can use the "RB" command on 
  6788.                  that special  sub-board to read back the applications from latest to oldest, calling back the people to 
  6789.                  verify them.
  6790.               
  6791.                  If a user responds with information that is obviously false (as when a user enters today's date as 
  6792.                  his date of birth) you can use the "+9" command, from the main system prompt, to reset the user's 
  6793.                  account so that he will have to fill out the application again the next time he logs on.
  6794.               
  6795.                  5.4.12.6. Order and VERIFYQU Export Database
  6796.               
  6797.                  Option  "5" of the "PXP" menu allows you to define a file in which all responses to order entry 
  6798.                  forms and verify questionnaires will be stored as they are filled out by the users.  This file is a 
  6799.  
  6800.               
  6801.  
  6802.  
  6803.  
  6804.  
  6805.  
  6806.                  comma-delimited file which can be directly imported to programs such as dBase or Lotus 1-2-3.  Each 
  6807.                  record; that is, each line, in the file contains all the user responses to one questionnaire.  The user 
  6808.                  response to each question is a string of characters enclosed on quotation marks, and fields are separated 
  6809.                  by commas.  Because the file is only opened for less than a second when the user closes the 
  6810.                  questionnaire using the save ("S") option, it may be read, renamed, or deleted at almost any time by an 
  6811.                  external program.  In each record of the file, the first field always contains the name of the 
  6812.                  questionnaire, which will be "VERIFYQU" or "QUESTxxx".  The second field of each record contains 
  6813.                  the account code of the user who filled out the questionnaire.  The third field contains the date and time 
  6814.                  that the questionnaire was filled out.  The remaining fields contain the responses as typed by the user.  
  6815.                  Figure 5.4.12.6-1 shows a sample of  an Order and VERIFYQU Export Database File.
  6816.               
  6817.               
  6818.  
  6819.  
  6820.  
  6821.  
  6822.  
  6823.                  5.4.13. Outside Features (Doors)
  6824.               
  6825.                  A feature which is sometimes found on single user BBS software, called "doors", allows the BBS 
  6826.                  to shut down temporarily to run another program and then restart the BBS when the other program 
  6827.                  finishes, or if the BBS does not use much memory, to run  the other program in memory that is not 
  6828.                  being used by the BBS software.  Bulletron Professional BBS Software for OS/2 provides the 
  6829.                  following five types of outside features:
  6830.               
  6831.                     D Direct Connect              
  6832.               
  6833.                     T Telephone Dialout              
  6834.               
  6835.                     R DOS Program              
  6836.               
  6837.                     F DOS Program with FOSSIL Support              
  6838.               
  6839.                     O OS/2 Program              
  6840.               
  6841.                  Each of these has special characteristics, features and limitations which are described in the 
  6842.                  following sections.
  6843.               
  6844.                  5.4.13.1. Direct Connect Features
  6845.               
  6846.                  A direct connect type outside feature requires an external computer that is running a program that 
  6847.                  communicates via a serial port, such as a mainframe system, a minicomputer running an operating 
  6848.                  system such as UNIX or VMS, a slave BBS in another PC, or a door program running in another PC.  
  6849.                  The serial port of the  external computer is connected one of Bulletron's serial ports with a null modem 
  6850.                  cable.  The wiring of the null modem cable are shown in Figure 5.4.13.1-1.
  6851.               
  6852.                  When a user opens an outside feature of this type, Bulletron acts like a terminal to the external 
  6853.                  computer.  It simply passes data, without any translation or interpretation, between the  serial port on 
  6854.                  which the user called in, and the serial port to which the outside feature is connected.  The connection 
  6855.                  persists until Bulletron detects loss of carrier from the external computer; that is, until the external 
  6856.                  computer turns off its DTR signal.
  6857.               
  6858.                  The transmitted data (TxD) and received data (RxD) signals are crossed in the cable so that each 
  6859.                  computer receives what the other transmits.  The Request to Send (RTS) and Clear to Send (CTS) 
  6860.                  provide flow control.  When one side turns off RTS, the  other side sees CTS go off and stops 
  6861.                  transmitting data until CTS comes back on.  Similarly, the Data Terminal Ready (DTR) and Data Set 
  6862.                  Ready (DSR) signals are crossed in the cable, so that if  either computer is turned off, then the other can 
  6863.                  detect it and reset.  The carrier detect (CD) signal at each end of the cable is connected to DSR so that 
  6864.                  the other computer can disconnect by deliberately turning off DTR.
  6865.               
  6866.                  When a user opens a direct connect outside feature, Bulletron sends a start-up sting, that you 
  6867.                  specify, over the port to the  external computer.  Then it waits for a start-up time-out period for the 
  6868.                  external computer to respond with any kind of data coming back over the serial line.  Once the first 
  6869.                  character is received from the external computer, a different time-out is applied to detect failure of the 
  6870.                  program in the external computer.  When the program in the external computer finishes, Bulletron can 
  6871.                  send a closing  command that you specify to the external computer.
  6872.               
  6873.                  The advantages of running a direct connect outside feature in an external computer are:
  6874.               
  6875.                       Files in your main BBS computer are safe in the event that the "door" program has a "back 
  6876.                    door" that lets users shell to the operating system and, thereby, delete files.
  6877.               
  6878.                       Very little processing time is required by the main BBS  computer for passing data back and 
  6879.                    forth, so both the BBS and the door program can run at full speed.
  6880.               
  6881.                       Extra phone lines are not needed for the external computer(s).
  6882.               
  6883.                       The door program does not need to be able to run in a PC under DOS or OS/2, nor be able to 
  6884.                    drive the serial port hardware that Bulletron is using.
  6885.               
  6886.                       Programs that do not use FOSSIL drivers can be used.
  6887.               
  6888.                       Bulletron can time out the door program if it gets stuck in an internal loop or disconnects the 
  6889.  
  6890.               
  6891.  
  6892.  
  6893.  
  6894.  
  6895.  
  6896.                    caller without terminating.
  6897.               
  6898.                  The disadvantages of running a direct connect outside feature in an external computer are:
  6899.               
  6900.                       One, or more, extra computers must be purchased and maintained.
  6901.               
  6902.                       You need extra serial ports in your Bulletron system that can not be used for incoming calls.
  6903.               
  6904.                       The external computer must be physically located within about a hundred feet of the main BBS 
  6905.                    computer.
  6906.               
  6907.                  5.4.13.2. Telephone Dialout Features
  6908.               
  6909.                  Telephone dialout outside features are similar to direct connect outside features in that Bulletron 
  6910.                  acts as a pass-through for serial ports.  Unlike direct connect outside features, however, telephone dial 
  6911.                  outside features do not require dedicated serial ports, so Bulletron can connect to the external program 
  6912.                  using the same serial ports that receive incoming calls.  For this type  of outside feature, you specify a 
  6913.                  telephone number for the outside  feature, and Bulletron searches out a serial port that is not in use and 
  6914.                  dials out on that port's phone line.  This is most useful for situations where your outside feature 
  6915.                  computer is physically remote from the BBS computer, as in a corporate environment where  an 
  6916.                  application running on a mainframe system in another building must be accessed.
  6917.               
  6918.                  The advantages of running a telephone dialout outside feature in an external computer are:
  6919.               
  6920.                       Files in your main BBS computer are safe in the event that the "door" program has a "back 
  6921.                    door" that lets users shell to the operating system and, thereby, delete files.
  6922.               
  6923.                       Very little processing time is required by the main BBS computer for passing data back and 
  6924.                    forth, so both the BBS and the door program can run at full speed.
  6925.               
  6926.                       Dedicated extra serial ports are not needed.
  6927.               
  6928.                       The external program can be physically very distant from the main BBS.
  6929.               
  6930.                       The door program does not need to be able to run in a PC under DOS or OS/2, nor be able to 
  6931.                    drive the serial port hardware that Bulletron is using.
  6932.               
  6933.                       Programs that do not use FOSSIL drivers can be used.
  6934.               
  6935.                       Bulletron can time out the door program if it gets stuck in an internal loop or disconnects the 
  6936.                    caller without terminating.
  6937.               
  6938.                  The disadvantages of running a direct connect outside feature in an external computer are:
  6939.               
  6940.                       One, or more, extra computers must be purchased and maintained.
  6941.               
  6942.                       Each external computer needs to have at least one telephone line for its own use.
  6943.               
  6944.                  5.4.13.3. DOS Program Features
  6945.               
  6946.                  A DOS program outside feature executes a program written for DOS in the same computer as the 
  6947.                  main BBS, by creating an OS/2 DOS full screen session.  This type of outside feature lets you take 
  6948.                  advantage of the large assortment of "door" programs that have  been written for DOS based BBS 
  6949.                  programs like RBBS and PC-Board.
  6950.               
  6951.                  When you select a program to use with this feature, you must make sure that it is compatible with 
  6952.                  the type of serial port hardware that your Bulletron system uses.  When Bulletron opens the DOS 
  6953.                  session for the door, it will completely relinquish control of the serial port on which the call came in, 
  6954.                  and expect the door program to control the serial port directly until it finishes. If you BBS uses an 
  6955.                  intelligent multi-port card, then the DOS program must be able to drive that multi-port card directly, 
  6956.                  with no assistance from the BBS.  There, also, is no way to time out the DOS program if it gets stuck 
  6957.                  internally in an infinite loop or  hangs up on the caller without exiting.
  6958.               
  6959.                  Other disadvantages to this type of outside feature are that some door programs have "back 
  6960.                  doors" that allow the user to shell to DOS and delete your files, and that DOS sessions running in the 
  6961.                  same computer as the BBS will take CPU time away from the BBS, making the BBS run slower.  Each 
  6962.  
  6963.               
  6964.  
  6965.  
  6966.  
  6967.  
  6968.  
  6969.                  external DOS session also takes up about 512 Kbytes of RAM, so you will need to have extra memory 
  6970.                  installed in your computer to prevent OS/2 from swapping memory to disk.  The amount of RAM 
  6971.                  needed by Bulletron for OS/2 is 8 Mbytes, plus 128 Kbytes for each phone line.  16 Mbytes of RAM 
  6972.                  will let you run about 12 DOS program doors concurrently on a fast 486 or Pentium processor.
  6973.               
  6974.                  The advantages of running a DOS Program outside feature in the same computer as the BBS are:
  6975.               
  6976.                       No external computer needs to be purchased or maintained.
  6977.               
  6978.                       Dedicated extra serial ports are not needed.
  6979.               
  6980.                       No extra phone lines are needed.
  6981.               
  6982.                       Programs that do not use FOSSIL drivers can be used.
  6983.               
  6984.                  The disadvantages of running a DOS Program outside feature in the same computer as the BBS 
  6985.                  are:
  6986.               
  6987.                       Files in your main BBS computer are at risk in the event that the "door" program has a "back 
  6988.                    door" that lets users shell to the operating system and, thereby, delete files.
  6989.               
  6990.                       Extra processing time and RAM are required in the main BBS computer for executing the 
  6991.                    program.
  6992.               
  6993.                       The door program must be able to run in the PC under DOS, and be able to drive the serial port 
  6994.                    hardware that  Bulletron is using.
  6995.               
  6996.                       Bulletron can not detect if the door program gets stuck in  an internal loop or disconnects the 
  6997.                    caller without  terminating.
  6998.               
  6999.                  The interface to the DOS session that provides information about the user, the port, and your 
  7000.                  BBS consists of two files that are written to your BBS default directory just before the DOS session is 
  7001.                  created.  These files are named "DORINFOx.DEF" and "DOOR.SYS".  Door programs written for 
  7002.                  RBBS usually use the DORINFOx.DEF file.  Door programs written for PC-Board usually use the 
  7003.                  DOOR.SYS file.  A few programs can use either, but no programs require both.
  7004.               
  7005.                  5.4.13.3.1. DORINFOx.DEF Interface
  7006.               
  7007.                  The DORINFOx.DEF interface can support lines 1 through 35 of your BBS.  The actual name of 
  7008.                  the file will be "DORINFO1.DEF" for a call that came in on line 1, "DORINFO2.DEF" for a call that 
  7009.                  came  in on line 2, and so forth.  For a call on line 10, it would be DORINFOA.DEF, and for a call on 
  7010.                  line 35 it would be DORINFOZ.DEF.  There is no defined convention for  naming a file beyond 
  7011.                  "DORINFOZ.DEF".  When you define a DOS program outside feature, you can restrict the serial ports 
  7012.                  for which the outside feature will be allowed to execute.  The DORINFOx.DEF file is a plain ASCII 
  7013.                  text file, thirteen lines long, containing the following information:
  7014.               
  7015.                  Demo BBS       name of your BBS
  7016.               
  7017.                  Patrick        first name of your system operator
  7018.               
  7019.                  Gleason        last name of your system operator
  7020.               
  7021.                  COM1      serial port, "COM0" = local console
  7022.               
  7023.                  2400 BAUD,N,8,1     communication parameters in effect
  7024.               
  7025.                  0              RBBS network type - always zero
  7026.               
  7027.                  SYSOP          first name of the caller
  7028.               
  7029.                                 last name of the caller
  7030.               
  7031.                  Syracuse       caller's city and state
  7032.               
  7033.                  0              0 = straight ASCII, 2 = ANSI color
  7034.               
  7035.  
  7036.               
  7037.  
  7038.  
  7039.  
  7040.  
  7041.  
  7042.                  1000      caller's feature access level
  7043.               
  7044.                  999        minutes remaining in this session
  7045.               
  7046.                  0              -1=FOSSIL driver present, 0=not present
  7047.               
  7048.                  When Bulletron creates a DORINFOx.DEF file, it takes the name of the BBS from what you 
  7049.                  entered using the "PP" command, function "N".  The first and last names of the system operator are 
  7050.                  fields that you can specify when you define the outside feature.  Some  door programs will compare 
  7051.                  these fields to the user name fields and give special privileges to that user.  Bulletron lets you designate 
  7052.                  an arbitrary person to have those privileges, without giving that person any other privileges, by 
  7053.                  specifying his account code as the system operator name.  To make sure that callers are uniquely 
  7054.                  identified, Bulletron places the caller's account code in the user first name field and leaves the user last 
  7055.                  name field blank.  Bulletron users can always change their name or handle using the "N2" command, 
  7056.                  but you can prevent users from changing their account codes using the "PP" command, function "5".
  7057.               
  7058.                  When Bulletron creates the DOS session for a DOS program door, it invokes the program 
  7059.                  specified in the "SHELL=" statement of your OS/2 CONFIG.SYS file, which is usually 
  7060.                  COMMAND.COM, with the  following parameters:
  7061.               
  7062.                  
  7063.               
  7064.                  /C   filespec   port   line
  7065.               
  7066.                  
  7067.               
  7068.                  where "filespec" is the name of a batch procedure (".BAT" file) that you specify when you define 
  7069.                  the outside feature, "port" is "1" if the caller is on COM1, "2" if the caller is on "COM2", and so forth, 
  7070.                  and "line" is the line number that the caller is on. This allows you to write your own programs that 
  7071.                  ignore the  DORINFOx.DEF file and access any port in your computer.  You access the port number in 
  7072.                  your batch procedure by the variable name, "%1", and the line number by the variable name, "%2".
  7073.                                       *** IMPORTANT NOTE ***
  7074.               
  7075.                  For type "F" (FOSSIL Support) doors, Bulletron always writes "COM1" as the port in the 
  7076.                  DORINFOx.DEF file, regardless of what the port really is.  Configure all of the nodes of your door 
  7077.                  program to be accessing COM1 with FOSSIL support.  The FOSSIL support routines will 
  7078.                  automatically reroute serial I/O to the correct port, and video I/O to the correct task window.  This is 
  7079.                  done because FOSSIL driver specifications only allow port numbers from 0 to 254 and Bulletron might 
  7080.                  have a port beyond "COM255".
  7081.               
  7082.                  DORINFOx.DEF files produced for type "R" doors reflect the true serial port.  The "%1" 
  7083.                  parameter always reflects the true serial port.
  7084.               
  7085.                  5.4.13.3.2. DOOR.SYS Interface
  7086.               
  7087.                  A secondary interface file that is provided by Bulletron for DOS door programs that are not 
  7088.                  written to understand the DORINFOx.DEF file, or that you want to run on lines 36 and higher. The 
  7089.                  convention is to name this file "DOOR.SYS" for all lines.  To  allow multiple copies of this file to be 
  7090.                  written concurrently by users on different lines, Bulletron named the file "DOORnnnn.SYS", here 
  7091.                  "nnnn" is the line number of the caller.  Your batch procedure that starts the door program must use the 
  7092.                  line number argument to identify the correct file and copy it into an appropriate directory, renaming it 
  7093.                  to "DOOR.SYS".
  7094.               
  7095.                  Like the DORINFOx.DEF file, the DOOR.SYS file is a plain, ASCII text file, though it is much 
  7096.                  longer than DORINFOx.DEF.  The fields defined in the DOOR.SYS file are:
  7097.               
  7098.                  COM1      <-- Comm Port - COM0: = LOCAL MODE
  7099.               
  7100.                  2400      <-- Baud Rate - 300 to 38400
  7101.               
  7102.                  8              <-- Parity - 7 or 8
  7103.               
  7104.                  1              <-- Line Number
  7105.               
  7106.                  19200          <-- DTE Rate. Actual BPS rate to use
  7107.               
  7108.  
  7109.               
  7110.  
  7111.  
  7112.  
  7113.  
  7114.  
  7115.                  Y              <-- Screen Display - Y=On  N=Off
  7116.               
  7117.                  Y              <-- Printer Toggle - Y=On  N=Off
  7118.               
  7119.                  Y              <-- Page Bell      - Y=On  N=Off
  7120.               
  7121.                  Y              <-- Caller Alarm   - Y=On  N=Off
  7122.               
  7123.                  Rick Greer          <-- User Full Name
  7124.               
  7125.                  Lewisville, Tx.     <-- Calling From
  7126.               
  7127.                  214 221-7814        <-- Home Phone
  7128.               
  7129.                  214 221-7814        <-- Work/Data Phone
  7130.               
  7131.                  PASSWORD  <-- Password
  7132.               
  7133.                  110       <-- Feature Access Level
  7134.               
  7135.                  1456      <-- Total Times On
  7136.               
  7137.                  03/14/88       <-- Last Date Called
  7138.               
  7139.                  7560      <-- Seconds Remaining THIS call
  7140.               
  7141.                  126       <-- Minutes Remaining THIS call
  7142.               
  7143.                  GR        <-- GR=Graphics, NG=Non-Graph, 7E=7,E Caller
  7144.               
  7145.                  23             <-- Page Length
  7146.               
  7147.                  Y              <-- User Mode - Y = Expert, N = Novice
  7148.               
  7149.                  1,2,3,4,5,6,7       <-- Conferences/Forums Registered In
  7150.               
  7151.                  7              <-- Conference Exited To DOOR From
  7152.               
  7153.                  01/01/99       <-- User Expiration Date
  7154.               
  7155.                  1              <-- User File's Record Number
  7156.               
  7157.                  Y              <-- Default Protocol - X, C, Y, G, I, N, Etc..
  7158.               
  7159.                  0              <-- Total Uploads
  7160.               
  7161.                  0              <-- Total Downloads
  7162.               
  7163.                  0              <-- Daily Download "K" Total
  7164.               
  7165.                  999999         <-- Daily Download Max. "K" Limit
  7166.               
  7167.                  10/22/88       <-- Caller's Birthdate
  7168.               
  7169.                  G:\GAP\MAIN    <-- Path to the directory where User File is
  7170.               
  7171.                  G:\GAP\GEN     <-- Path to the GEN directory
  7172.               
  7173.                  Michael        <-- Sysop's Name
  7174.               
  7175.                  Stud      <-- Alias name
  7176.               
  7177.                  00:05          <-- Event time
  7178.               
  7179.                  Y               <-- If its an error correcting connection (Y/N)
  7180.               
  7181.  
  7182.               
  7183.  
  7184.  
  7185.  
  7186.  
  7187.  
  7188.                  N              <-- ANSI supported & caller using NG mode (Y/N)
  7189.               
  7190.                  Y              <-- Use Record Locking (Y/N)
  7191.               
  7192.                  14             <-- BBS Default Color (1-15)
  7193.               
  7194.                  10             <-- Time Credits In Minutes (positive/negative)
  7195.               
  7196.                  07/07/90       <-- Last New Files Scan Date
  7197.               
  7198.                  14:32          <-- Time of This Call
  7199.               
  7200.                  07:30          <-- Time of Last Call
  7201.               
  7202.                  6              <-- Maximum daily files available
  7203.               
  7204.                  3               <-- Files d/led so far today
  7205.               
  7206.                  23456          <-- Total "K" Bytes Uploaded
  7207.               
  7208.                  76329          <-- Total "K" Bytes Downloaded
  7209.               
  7210.                  A File Sucker       <-- User Comment
  7211.               
  7212.                  10             <-- Total Doors Opened
  7213.               
  7214.                  10283          <-- Total Messages Left
  7215.               
  7216.                  The DOOR.SYS interface standard was originally designed for use with Gap BBS software.  
  7217.                  Because of this, some of the fields are not meaningful with Bulletron.  Special accommodations made 
  7218.                  by Bulletron are:
  7219.               
  7220.                      "comm port"  will be accurate for type "R" (DOS Program) type doors, but will always be 
  7221.                      "COM1:" for type "F" (DOS Program with FOSSIL Support)  doors.  
  7222.                      Configure all of the nodes of your door program to be accessing COM1 with 
  7223.                      FOSSIL support.  The FOSSIL support routines will automatically reroute 
  7224.                      serial I/O to the correct port, and video I/O to the correct task window.  This 
  7225.                      is done  because FOSSIL driver specifications only allow port numbers from 
  7226.                      0 to 254 and Bulletron might have a port beyond "COM255".              
  7227.               
  7228.                      "screen display"  will be "N" only if Bulletron is started with the "NOWINDOWS" option.              
  7229.               
  7230.                      "printer log"     will be "N" only if you specify zero for "PP" command, function "C".              
  7231.               
  7232.                      "page bell"  will be "Y" if you start Bulletron with the "ATHOME" option or log on as 
  7233.                      "SYSOP" and enter public chat.              
  7234.               
  7235.                      "caller alarm"    will be "Y" if you specify "N" for the  second part of "PP" command, 
  7236.                      function "Z".              
  7237.               
  7238.                      "user name"  will contain the account code of the  caller.              
  7239.               
  7240.                      "home phone" will contain the "voice phone number" specified by the user if you specify 
  7241.                      "N" for "PXP" command, function "C"; otherwise  it will be blank.              
  7242.               
  7243.                      "work phone" will contain the "fax or BBS phone number" specified by the user if you 
  7244.                      specify "N" for "PXP" command, function "C"; otherwise it will be blank.              
  7245.               
  7246.                      "user mode"  will be "N" (for novice) if the user has enabled menus or sub-board 
  7247.                      introductions using the "N5" command.              
  7248.               
  7249.                      "conferences/forums"will always be blank.              
  7250.               
  7251.                      "conference exited"will be the board sequence number of the last sub-board selected.              
  7252.               
  7253.                      "user expiration date" will be blank if your billing method ("PX$" command, function "B") is 
  7254.  
  7255.               
  7256.  
  7257.  
  7258.  
  7259.  
  7260.  
  7261.                      "D", "S" or "L".              
  7262.               
  7263.                      "user record no."will always be blank.              
  7264.               
  7265.                      "default protocol"will always be blank.              
  7266.               
  7267.                      "total uploads"   will always be 32,767.              
  7268.               
  7269.                      "total downloads"will always be zero.              
  7270.               
  7271.                      "daily dnld K limit"will always be 32,767.              
  7272.               
  7273.                      "caller's birthdate"will always be blank.              
  7274.               
  7275.                      "GAP user file path"will always be blank.              
  7276.               
  7277.                      "GAP GEN file path"will always be blank.              
  7278.               
  7279.                      "SYSOP name" will always be "SYSOP".              
  7280.               
  7281.                      "alias name" will be the user's name/handle, as set by him using the "N2" command.              
  7282.               
  7283.                      "error corr modem"will always be blank.              
  7284.               
  7285.                      "ANSI + NG mode"will always be "N".              
  7286.               
  7287.                      "record locking"  will always be "Y".              
  7288.               
  7289.                      "default BBS color"will always be "7" (grey).              
  7290.               
  7291.                      "time credits"    will always be zero.              
  7292.               
  7293.                      "max daily files"will always be 99,999.              
  7294.               
  7295.                      "files d/l today" will always be zero.              
  7296.               
  7297.                      "user comment"    will be the first line of personal description, or blank if you specify "N" for 
  7298.                      "IP" command, function "L".              
  7299.               
  7300.                      "doors opened"    will always be zero.              
  7301.               
  7302.                  5.4.13.4. DOS Program with FOSSIL Support Features
  7303.               
  7304.                  In the absence of good support for serial port hardware by BIOS ROMs and BIOS ROM 
  7305.                  extensions, a standard was developed for DOS serial device drivers called the FOSSIL 
  7306.                  (Fido/Opus/Seadog Standard Interface Layer).  For DOS door programs that are written to interface 
  7307.                  through a FOSSIL driver, serial I/O can be redirected to use Bulletron's internal serial I/O, video and 
  7308.                  keyboard functions.  Using the Bulletron's FOSSIL support, a DOS program is not dependent on any 
  7309.                  particular type of serial port hardware, and Bulletron can time out the program if it gets stuck internally 
  7310.                  in an infinite loop, and can detect loss of carrier if the door program disconnects the caller, but only 
  7311.                  programs written for FOSSIL drivers can be used with this interface.
  7312.               
  7313.                  The interfaces to the door program provided for FOSSIL support doors are the same as for other 
  7314.                  DOS program doors; that is, the DORINFOx.DEF file and the DOOR.SYS file.  The same  parameters 
  7315.                  are passed to the batch procedure that executes the  door program.  The only difference is that the batch 
  7316.                  procedure  must execute a TSR (terminate and stay resident) program named NPFOSSIL.EXE before 
  7317.                  starting the door program.
  7318.               
  7319.                  The advantages of running a DOS Program with FOSSIL support outside feature in the same 
  7320.                  computer as the BBS are:
  7321.               
  7322.                       No external computer needs to be purchased or maintained.
  7323.               
  7324.                       Dedicated extra serial ports are not needed.
  7325.               
  7326.                       No extra phone lines are needed.
  7327.  
  7328.               
  7329.  
  7330.  
  7331.  
  7332.  
  7333.  
  7334.               
  7335.                       The door program does not need to be written to drive the type of serial port hardware that the 
  7336.                    BBS uses.
  7337.               
  7338.                       Bulletron can detect if the door program gets stuck in an internal loop or disconnects the caller 
  7339.                    without terminating.
  7340.               
  7341.                  The disadvantages of running a DOS Program with FOSSIL support outside feature in the same 
  7342.                  computer as the BBS are:
  7343.               
  7344.                       Files in your main BBS computer are at risk in the event that the "door" program has a "back 
  7345.                    door" that lets users shell to the operating system and, thereby, delete files.
  7346.               
  7347.                       Extra processing time and RAM are required in the main BBS computer for executing the 
  7348.                    program.  Additional overhead is incurred by redirecting the serial I/O calls.
  7349.               
  7350.                       The door program must be able to run in the PC under DOS and be able to interact with a 
  7351.                    FOSSIL driver.
  7352.               
  7353.                  5.4.13.5. OS/2 Program Features
  7354.               
  7355.                  Bulletron provides a door interface that permits any OS/2 program to be executed in a session 
  7356.                  spawned by the BBS.  Using a third party support utility named "OS2YOU", any character based OS/2 
  7357.                  or DOS program can be executed an I/O for the keyboard and console are redirected by OS2YOU to the 
  7358.                  serial port.  The makers of OS2YOU also produce another utility named "PMYOU" that allows  any 
  7359.                  OS/2 GUI (graphical user interface) program to be executed remotely.  PMYOU requires a special 
  7360.                  terminal program at the user's end to implement the graphical display.
  7361.               
  7362.                  A shareware version of OS2YOU can be obtained from our Bulletron for OS/2 Development 
  7363.                  BBS (315 471-2970), or from most public access BBS's that carry OS/2 shareware, or directly from the 
  7364.                  author at:
  7365.               
  7366.                  
  7367.               
  7368.                  M Wahlgren Software Dev.
  7369.               
  7370.                  Kransen 4E 
  7371.               
  7372.                  S-416 72  Gothenburg
  7373.               
  7374.                  Sweden 
  7375.               
  7376.                  Fax: +46 31 196417 
  7377.               
  7378.                  Phone: +46 31 196074
  7379.               
  7380.                  
  7381.               
  7382.                  The only really negative aspect of running programs remotely this way is that the redirection of 
  7383.                  standard video and keyboard I/O requires a considerable amount of CPU time, so this option may be 
  7384.                  limited to only systems with very fast processors or small numbers of phone lines.
  7385.               
  7386.                  The advantages of running Program remotely via the OS2YOU/PMYOU interface are:
  7387.               
  7388.                       No external computer needs to be purchased or maintained.
  7389.               
  7390.                       Dedicated extra serial ports are not needed.
  7391.               
  7392.                       No extra phone lines are needed.
  7393.               
  7394.                       Special "door" programs are not needed; any program that runs under OS/2 or DOS can be 
  7395.                    executed remotely.
  7396.               
  7397.                       Bulletron can detect if the door program gets stuck in an internal loop or disconnects the caller 
  7398.                    without terminating.
  7399.               
  7400.  
  7401.               
  7402.  
  7403.  
  7404.  
  7405.  
  7406.  
  7407.                  The disadvantages of running programs remotely via the OS2YOU/PMYOU interface are:
  7408.               
  7409.                       Files in your main BBS computer are at risk in the event that the program lets users shell to the 
  7410.                    operating system and, thereby, delete files.
  7411.               
  7412.                       Considerable extra processing time and RAM are required in the main BBS computer for 
  7413.                    executing the program.
  7414.               
  7415.                       The program must be able to run in the PC under OS/2 or DOS.
  7416.               
  7417.                  5.4.13.6. DOS Prompt Feature
  7418.               
  7419.                  This type of door is Bulletron's "back door".  Only system operators and assistant system 
  7420.                  operators are allowed to access this type of door.  It literally gives you an operating system prompt in a 
  7421.                  DOS session on the BBS computer.  From it, you can execute any commands recognized by 
  7422.                  COMMAND.COM, such as "DIR", "DEL", "TYPE", etc..  You can also execute any character based 
  7423.                  DOS programs; that is, ones that do not use function keys, or keypad keys, and do not do any direct 
  7424.                  video I/O (this eliminates almost every program ever written for IBM PC compatible computers except 
  7425.                  COMMAND.COM).  With special terminal programs, you can even get access to the function keys and 
  7426.                  the keypad keys.  Despite its limitations, though, this feature gives you a very quick way to access a 
  7427.                  DOS prompt for a simple operation like listing a file directory, or using TECO to edit a file.
  7428.               
  7429.                  5.4.13.7. Setting up Outside Features
  7430.               
  7431.                  To define an outside feature, enter "PX" to bring up the Extended Features Menu and select 
  7432.                  option "O" (Outside Features definition), or, to save time, just enter "PXO" from the main  system 
  7433.                  prompt.  Bulletron then prompts you with:
  7434.               
  7435.                  
  7436.               
  7437.                  A-add, C-change, D-delete, L-list, Q-quit:
  7438.               
  7439.                  
  7440.               
  7441.                  If you select option "L", then Bulletron shows you a listing of the currently defined outside 
  7442.                  features that looks something like this:
  7443.               
  7444.               
  7445.  
  7446.  
  7447.  
  7448.  
  7449.  
  7450.                  
  7451.               
  7452.                  BRD:       MENUOPT: A - Trade Wars 1000   A/L: 100   Type: R
  7453.               
  7454.                      Batch File: D:\BBS\TWARS.BAT
  7455.               
  7456.                      Start-up Time-out (sec): 30   Run Time-out (sec): 300
  7457.               
  7458.                      Feature Operator First Name: Patrick
  7459.               
  7460.                      Feature Operator Last Name: Gleason
  7461.               
  7462.                      Baud Rate: 9600   Flow Control: B   Cost (cents/hr): 500
  7463.               
  7464.                  
  7465.               
  7466.                  BRD: UTL   MENUOPT: B - Tradewars Editor   A/L: 1000   Type: D
  7467.               
  7468.                      Begin Command: "@OFB                          "
  7469.               
  7470.                      End Command: "                              "
  7471.               
  7472.                      Start-up Time-out (sec): 30   Run Time-out (sec): 300
  7473.               
  7474.                       Baud Rate: 9600   Flow Control: B   Cost (cents/hr): 0
  7475.               
  7476.                      Serial Ports:   4
  7477.               
  7478.                  
  7479.               
  7480.                  BRD:        MENUOPT: C - Galactic Warzone   A/L: 100   Type: T
  7481.               
  7482.                      Phone# to dial: 471-2970
  7483.               
  7484.                      Begin Command: "@OFC                          "
  7485.               
  7486.                      End Command: "                              "
  7487.               
  7488.                      Start-up Time-out (sec): 30   Run Time-out (sec): 300
  7489.               
  7490.                      Baud Rate: 9600   Flow Control: B   Cost (cents/hr): 0
  7491.               
  7492.                      Serial Ports:   5  6
  7493.               
  7494.                  
  7495.               
  7496.                  BRD:       MENUOPT: D - OS/2 Command Prompt   A/L: 100   Type: O
  7497.               
  7498.                      Batch File:
  7499.               
  7500.                      Run Time-out (sec): 300   Cost (cents/hr): 0
  7501.               
  7502.                  
  7503.               
  7504.                  BRD:       MENUOPT: H - BBS Chess   A/L: 0   Type: D
  7505.               
  7506.                      Begin Command: "@OFBEGCMD                     "
  7507.               
  7508.                      End Command: "                              "
  7509.               
  7510.                      Start-up Time-out (sec): 30   Run Time-out (sec): 300
  7511.               
  7512.                      Baud Rate: 9600   Flow Control: H   Cost (cents/hr): 0
  7513.               
  7514.                      Serial Ports: 
  7515.               
  7516.  
  7517.               
  7518.  
  7519.  
  7520.  
  7521.  
  7522.  
  7523.                         8 
  7524.               
  7525.                  
  7526.               
  7527.                  In this example, we have defined door "A" to be a game named "Trade Wars 1000", requiring 
  7528.                  access level 100, which is our minimum subscriber feature access level, to run in a DOS session on the 
  7529.                  same computer as the BBS, being executed by a DOS batch file named "D:\BBS\TWARS.BAT".  The 
  7530.                  remaining parameters in entry "A", the start-up time-out, the run time-out, the SYSOP's name, the Baud 
  7531.                  Rate, and flow control are passed to the door program through the DORINFOx.DEF file, which is 
  7532.                  created by Bulletron when the door is opened.  The "BRD" field is left blank so that this feature is 
  7533.                  accessible from and sub-board.  If you have a door program that is pertinent to only one particular SIG, 
  7534.                  then you can place the sub-board abbreviation for that SIG in this field so that program is visible only 
  7535.                  when that sub-board is selected.  
  7536.               
  7537.                  The next entry is a "Trade Wars Editor", which we are running in a different computer, connected 
  7538.                  through Bulletron's COM4 with a null modem cable.  In this case, we have placed "UTL" in the "BRD" 
  7539.                  field so that only system operators can access this feature; that is, only system operators are allowed 
  7540.                  access to the "UTL" sub-board.
  7541.               
  7542.                  The third entry in our example is a game  named "Galactic Warzone" which Bulletron can dial up 
  7543.                  through COM5 or COM6, whichever line happens to not be in use by an incoming call at the time.  
  7544.               
  7545.                  Each type of outside feature has somewhat different type of setup parameters, so we will explain 
  7546.                  each separately in the  sections that follow.
  7547.               
  7548.                  5.4.13.7.1. Setting up Direct Connect Outside Features
  7549.               
  7550.                  Bulletron begins its setup dialog for a direct connect outside feature with:
  7551.               
  7552.                  
  7553.               
  7554.                  Board Abbreviation (ENTER for all):
  7555.               
  7556.                  
  7557.               
  7558.                  At this point, you can simply press ENTER if you want the outside feature to be accessible from 
  7559.                  any sub-board, or enter a three character sub-board abbreviation if you want it to be only visible from 
  7560.                  one specific sub-board.  If you are changing an outside feature definition and want to change the feature 
  7561.                  from being specific to one sub-board to general accessibility, then you can enter three spaces here.
  7562.               
  7563.                  The next question asked for an outside feature setup is:
  7564.               
  7565.                  
  7566.               
  7567.                  MENU OPTION:
  7568.               
  7569.                  
  7570.               
  7571.                  This is the menu selection letter that the user will enter to select the outside feature.  It can be any 
  7572.                  letter from "A" to "Z" and numbers from "0" thru "9", except "K", which is reserved for  an escape to 
  7573.                  the main system prompt.  You can use the same menu selection letter or number several times if you 
  7574.                  have outside features set up to be specific to certain sub-boards.  In these cases, the outside feature 
  7575.                  specific to the current sub-board will take precedence over the general one when the menu of outside 
  7576.                  features is displayed to the user.  For example, if you make outside feature "A" be the adventure game 
  7577.                  for your games sub-board, but also have a menu selection of "A" defined as a credit card validation 
  7578.                  system for the rest of the system, then a user will see the credit card validation program as outside 
  7579.                  feature "A" on every sub-board except your games sub-board.  On your games sub-board, he will see 
  7580.                  the adventure game program as outside feature "A".
  7581.               
  7582.                  After the menu selection letter, Bulletron next asks for:
  7583.               
  7584.                  
  7585.               
  7586.                  Feature Description:
  7587.               
  7588.                  
  7589.  
  7590.               
  7591.  
  7592.  
  7593.  
  7594.  
  7595.  
  7596.               
  7597.                  This is the 30-character description that will display to the user to describe the feature in the 
  7598.                  menu shown to the user.  
  7599.               
  7600.                  
  7601.               
  7602.                  Direct(D), Dial(T), DOS(R), FOSSIL(F), DOS Prmt(P), or OS/2 prog(O)
  7603.               
  7604.                  
  7605.               
  7606.                  Here is where you enter "D" to define the feature as a direct connect feature.  This is where the 
  7607.                  prompts for the different types of features begin to differentiate.
  7608.               
  7609.                  
  7610.               
  7611.                  Beginning command []:
  7612.               
  7613.                  
  7614.               
  7615.                  After a connection is established with the slave computer, this command will be transmitted, if 
  7616.                  present.  This parameter is optional since the slave computer may not need an initial command.  The 
  7617.                  beginning command may be up to 30 characters long.  Bulletron provides several escape sequences that 
  7618.                  can be used to dynamically modify the beginning command string:
  7619.               
  7620.                      $^$      is replaced by the account code that logged onto the system prior to the 
  7621.                      current user.              
  7622.               
  7623.                      ^x       is replaced by a control character that corresponds to letter "x".  For example, 
  7624.                      "^M" would produce a carriage return, "^J" would produce a line feed, and  
  7625.                      "^I" would produce a tab character.              
  7626.               
  7627.                      $+$      is replaced by the user's account code.              
  7628.               
  7629.                      $N$      is replaced by the user's name/handle.              
  7630.               
  7631.                      $L$      is replaced by the user's city and state.              
  7632.               
  7633.                      $A$      is replaced by "Y" if the current session has ANSI or RIP graphics, or "N" if 
  7634.                      not.              
  7635.               
  7636.                      $T$      is replaced by the number of minutes remaining in the user's current session.              
  7637.               
  7638.                      $$$      is replaced by an account code chosen at random.              
  7639.               
  7640.                      $O$      is replaced by the user's ordinal call number; that is, "1st", "2nd", etc..              
  7641.               
  7642.                      $B$      is replaced by the short name of your BBS, which you specify using option 
  7643.                      "N" of the "PP" command.              
  7644.               
  7645.                      $S$      is replaced by the descriptive name of the current sub-board.              
  7646.               
  7647.                      $P$      is replaced by the main system prompt (usually "What next?")              
  7648.               
  7649.                      $I$      is replaced by the task (line ) number of the  line on which the user is logged 
  7650.                      on.              
  7651.               
  7652.                      $TS$     is replaced by the minutes already used in the current session              
  7653.               
  7654.                      $TD$     is replaced by the minutes already used in the current day.              
  7655.               
  7656.                      $TL$     is replaced by the the total minutes used in the user's lifetime.              
  7657.               
  7658.                      %        makes Bulletron pause for one second.              
  7659.               
  7660.                      ~        makes Bulletron pause for one half second.              
  7661.               
  7662.  
  7663.               
  7664.  
  7665.  
  7666.  
  7667.  
  7668.  
  7669.                  If you need more than 30 characters for the beginning command, then you can put an "@" sign 
  7670.                  followed by an eight character code.  The eight characters that you choose will be interpreted as the 
  7671.                  name of a special message on your "utilities" sub-board.  For example, if the beginning command field 
  7672.                  contains the string "@OFBEGCMD", then Bulletron will go to your "utilities" sub-board and look for a 
  7673.                  message addressed to account "OFBEGCMD".  Bulletron will transmit the contents of that message as 
  7674.                  the beginning commands.  This allows an entire string of beginning commands to be sent rather than 
  7675.                  just 30 characters.  
  7676.               
  7677.                  
  7678.               
  7679.                  Ending command:
  7680.               
  7681.                  
  7682.               
  7683.                  This command is sent to the slave computer when the user terminates the command with 
  7684.                  CTRL/K twice, if the user times out or loses carrier, or if the remote computer terminates the feature by 
  7685.                  dropping carrier detect signal.  CTRL/K from the remote will not terminate the connection because of 
  7686.                  binary data that may be transmitted.  Two control-K characters consecutively must be  entered to 
  7687.                  terminate the outside feature from the user end.  This parameter is also optional.  It may be up to 30 
  7688.                  characters long.  The ending command can also contain a message "to account" name beginning with an 
  7689.                  "@" sign, and contain all the same escape sequences as the beginning command.  
  7690.               
  7691.                  
  7692.               
  7693.                  1 - Line number or 0 when done [4]:
  7694.               
  7695.                  2 - Line number or 0 when done [0]:
  7696.               
  7697.                  
  7698.               
  7699.                  When a user enters an "O" command Bulletron looks for ports that are not being used AT THAT 
  7700.                  MOMENT by another outside feature.  Certain lines must be dedicated for the outside feature.  It does 
  7701.                  not make sense to have more than half the lines dedicated.  For example, a 9-line/10-user system may 
  7702.                  have 7 telephone lines (plus the local console) for incoming calls and two lines dedicated to direct 
  7703.                  connect to a slave computer.  The two lines do not have to be any specific ports on the multi-port card.  
  7704.                  To mark the lines as dedicated to direct connection, use the "PL" command (assigning serial ports) and 
  7705.                  set the modem type to "D" to indicate that the  line has a null modem connected to it.  The lines must 
  7706.                  also be indicated in the "PXO" command here as being valid lines to use for the outside feature.  If lines 
  7707.                  5 and 9 are to be direct connected, enter 5 here at this prompt.  You will then be prompted again, and 
  7708.                  enter 9. You will then be prompted again, and enter zero to indicate you are finished entering valid line 
  7709.                  numbers.  Enter -1 for a line number to remove it from the list.  The order that you enter the numbers is 
  7710.                  the order that Bulletron will attempt to allocate them when users access outside features.  If one line is  
  7711.                  in use, Bulletron will check the next one.  If all the lines are in use, Bulletron will send a message 
  7712.                  notifying the user of that condition.  
  7713.               
  7714.                  
  7715.               
  7716.                  Flow Control (Hardware, Xon/xoff, or Both):
  7717.               
  7718.                  
  7719.               
  7720.                  Bulletron provides for hardware flow control using RTS/CTS signals (enter "H" for this setting), 
  7721.                  or software flow control using XON/XOFF characters (enter "X" for this setting), or both hardware  and 
  7722.                  software flow control (enter "B" for this setting).  If  Bulletron is connected to the outside feature at 
  7723.                  9600 Baud and the caller is connected at 300 Baud, Bulletron will use the RTS signal or send XOFF to 
  7724.                  the outside feature to halt transmission when caller's buffer is full.  A cable with RTS and CTS signals 
  7725.                  should be used to connect the outside features ports to the remote computers.
  7726.               
  7727.                  
  7728.               
  7729.                  Initial Baud rate:
  7730.               
  7731.                  
  7732.               
  7733.                  This is the Baud rate that the port on the local computer will be set before establishing connection 
  7734.                  to the remote computer.  The Baud rate can be up to 38,400 Baud.  Setting it to 9,600 Baud, however, 
  7735.  
  7736.               
  7737.  
  7738.  
  7739.  
  7740.  
  7741.  
  7742.                  will generate less CPU processing load, making the rest of your BBS run more smoothly, while still 
  7743.                  giving adequate response time for the user of the outside feature.
  7744.               
  7745.                  
  7746.               
  7747.                  Access level:
  7748.               
  7749.                  
  7750.               
  7751.                  This is the minimum feature access level which the user must have  before he can access this 
  7752.                  feature.  Note that this changes for each entry within outside features.  To change the access level for 
  7753.                  the outside features menu, use the "PP" command option "8".  "PP", option "8" can be used to disable 
  7754.                  all outside features if your outside computer breaks down for some reason.
  7755.               
  7756.                  
  7757.               
  7758.                  Time-out (seconds) initially:
  7759.               
  7760.                  
  7761.               
  7762.                  After a connection is established, the remote computer must send a character back with this 
  7763.                  number of seconds.  If no characters are received during this initial period, Bulletron will terminate this 
  7764.                  outside feature.  This is a safeguard in the event that the remote computer is not online or has "crashed".  
  7765.               
  7766.                  
  7767.               
  7768.                  Time-out (seconds) during feature:
  7769.               
  7770.                  
  7771.               
  7772.                  After some characters have been transmitted from the remote computer so Bulletron knows that 
  7773.                  the remote computer was online at the time of connection, Bulletron will terminate the feature if no 
  7774.                  characters are then received for this period.  This is a safeguard in the event that the remote computer 
  7775.                  "crashes" after the feature  has started.  
  7776.               
  7777.                  
  7778.               
  7779.                  Surcharge (cents per hour) [0]:
  7780.               
  7781.                  
  7782.               
  7783.                  If you provide an outside feature such as Westlaw, Dow Jones News Service, or Compuserve, as 
  7784.                  a sub-task under Bulletron, then you will probably want to pass the connect time charge on to the 
  7785.                  customer. For most direct connect features however, you will probably set this surcharge to zero.  This 
  7786.                  surcharge can only be applied if you bill by cents or minutes.  It is ignored if you bill strictly by date.
  7787.               
  7788.                  5.4.13.7.2. Setting up Telephone Dialout Outside Features
  7789.               
  7790.                  Set up dial-up outside features in the same way as direct connect features, except for the 
  7791.                  following changes.  When Bulletron  prompts you with
  7792.               
  7793.                  
  7794.               
  7795.                  Direct(D), Dial(T), DOS(R), FOSSIL(F), DOS Prmt(P), or OS/2 prog(O)
  7796.               
  7797.                  
  7798.               
  7799.                  enter "T" for "telephone dial-up".  Bulletron will then prompt you with
  7800.               
  7801.                  
  7802.               
  7803.                  Phone# to dial []:
  7804.               
  7805.                  
  7806.               
  7807.                  You can enter any phone number, long distance or local.  For dial-up outside features, you will 
  7808.  
  7809.               
  7810.  
  7811.  
  7812.  
  7813.  
  7814.  
  7815.                  usually allow the feature dial out on all of your phone lines.  With direct connect, you must dedicate 
  7816.                  some ports for outside features.  For dial-up, users can call in on the outside feature lines.
  7817.               
  7818.                  5.4.13.7.3. Setting up DOS Program Outside Features
  7819.               
  7820.                  You begin the setup for DOS Program Outside Features in the same way as Direct Connect 
  7821.                  Outside Features (see section 5.4.13.7.1) until you get to the point where Bulletron asks:
  7822.               
  7823.                  
  7824.               
  7825.                  Direct(D), Dial(T), DOS(R), FOSSIL(F), DOS Prmt(P), or OS/2 prog(O)
  7826.               
  7827.                  
  7828.               
  7829.                  Here is where you enter "R" to define the feature as an DOS Program type door.
  7830.               
  7831.                  Bulletron will then ask you for some information necessary for building the DORINFOx.DEF 
  7832.                  and DOORnnnn.SYS files:
  7833.               
  7834.                  
  7835.               
  7836.                  Feature Operator First Name [SYSOP]:
  7837.               
  7838.                  Feature Operator Last Name []:
  7839.               
  7840.                  
  7841.               
  7842.                  Enter the account code for the person that you want to be in control of the outside feature.  This 
  7843.                  may be the SYSOP of the main BBS, or possibly a different person on larger systems.  Bulletron puts 
  7844.                  this name into the DORINFOx.DEF file.  Many door programs give special privileges to the person 
  7845.                  who logs onto the door with this name.  The username that Bulletron passes to the door consists of the 
  7846.                  Bulletron account code fir a "first name" and a blank for the "last name".
  7847.               
  7848.                  Then, instead of asking for a start-up command string, Bulletron asks for the name of the batch 
  7849.                  file that will execute the program:
  7850.               
  7851.                  
  7852.               
  7853.                  Batch file [TWARS.BAT]:
  7854.               
  7855.                  
  7856.               
  7857.                  Bulletron creates a virtual DOS machine in a separate OS/2 session to execute the door program.  
  7858.                  All the commands needed to execute the door program should be placed in a DOS batch file.  Do not 
  7859.                  specify and drive or path information for this batch file; the BBS will look for the batch file in the BBS 
  7860.                  default directory.  When Bulletron executes this batch file, it passes the following parameters:
  7861.               
  7862.                      %1       the port number, 1 for "COM1", 2 for "COM2", etc..;              
  7863.               
  7864.                      %2       the line (task) number, as a string of decimal digits;              
  7865.               
  7866.                      %3       the character "x" in the "DORINFOx.DEF" file name.              
  7867.               
  7868.                  You can use "%1" inside the batch file if you need to identify the serial port that should be used 
  7869.                  by this door.  Bulletron does not attempt to pass hot handles; this port will be fully closed when the 
  7870.                  batch file executes, though the modem will still be connected with the remote user.  Bulletron sends the 
  7871.                  commands "+++", "AT&D0" and "ATO" to the modem before closing the port so that the modem will 
  7872.                  not disconnect if the serial device driver turns off the DTR signal while closing the port.  Because the 
  7873.                  VCOM.SYS driver (the virtual device driver that gives access to serial ports for OS/2 DOS sessions) 
  7874.                  does not support file sharing, it is necessary for Bulletron to close the port before the DOS program is 
  7875.                  initiated.  At the same time, the COM.SYS driver (the device driver that gives OS/2 programs access to 
  7876.                  serial ports) always turns off the DTR signal when the port is closed.  Thus, to avoid dropping carrier 
  7877.                  when the DTR signal is turned off, these commands are sent to the modem before closing the port.  
  7878.                  When the door program finishes, Bulletron sends the commands "+++", "AT&D2" and "ATO" to the 
  7879.                  modem to restore the modem to normal handling of the DTR signal.
  7880.               
  7881.  
  7882.               
  7883.  
  7884.  
  7885.  
  7886.  
  7887.  
  7888.                  The %2" parameter can be used to distinguish Bulletron sessions for identifying the 
  7889.                  "DOOR.SYS" file or the "node" number.  The "%2" parameter will have the task (line) number of the 
  7890.                  user session that opened the door.  Because it is possible for two or more Bulletron tasks (lines) can be 
  7891.                  opening a door at the same time, Bulletron appends the task (line) number to the file name, as in 
  7892.                  "DOOR1.SYS" for line 1, "DOOR2.SYS" for line 2, and so forth.  Inside the batch file you would 
  7893.                  identify this file by using a string substitution like "DOOR%2.SYS".  If the door program also required 
  7894.                  a command line parameter to distinguish "nodes" for the door, then you could use the %2 parameter 
  7895.                  there as well.
  7896.               
  7897.                  The %3 parameter can be used to identify the "DORINFOx.DEF" file.  The "x" in 
  7898.                  "DORINFOx.DEF" will be 1 2 3 4 5 6 7 8 9 0 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 
  7899.                  Z, for "nodes" 1 through 36, respectively.  The %3 parameter will be the same as the %2 parameter for 
  7900.                  lines 1 through 9, but different for lines 10 through 36.  If a user on line 37 or above attempts to open a 
  7901.                  DOS program type door, then Bulletron will send an error message indicating that the 
  7902.                  "DORINFOx.DEF" file can not be created and will abort the command before the batch file is initiated.
  7903.               
  7904.                  If you have a door program that is a native OS/2 program rather than a DOS program, then you 
  7905.                  should use a file name extension of ".CMD" instead of ".BAT" for the batch procedure.  Bulletron will 
  7906.                  detect this and open the child session for the door as an OS/2 session instead of a DOS session.
  7907.               
  7908.                  The child session, when opened, will place an icon in your OS/2 Minimized Icon Viewer 
  7909.                  Window.  You can double click on this icon to view what is happening in the door session.  The name 
  7910.                  of the file for this icon, provided with Bulletron, is "DOOR.ICO".
  7911.               
  7912.                  When the batch file is initiated, it will be given the environment for the standard OS/2 shell; that 
  7913.                  is, "COMMAND.COM" for DOS programs, or "CMD.EXE" for OS/2 programs, as initiated directly 
  7914.                  from the desktop.  This means that, if your door program is not on the "C:" drive, then you will need to 
  7915.                  place a command like "D:", "E:", etc.. in the batch file.  Also, the default directory will be the root 
  7916.                  directory, not the directory from which the BBS was started, so you will need to include a "CD" 
  7917.                  command to select the file directory containing the door program.
  7918.               
  7919.                  Some examples of batch files might be:
  7920.               
  7921.                  
  7922.               
  7923.                  E:
  7924.               
  7925.                  CD\BBS\TW2
  7926.               
  7927.                  TW2 /N%2 /OCOM%1 /P:..\DOOR%2.SYS
  7928.               
  7929.                  CD ..
  7930.               
  7931.                  
  7932.               
  7933.                  and
  7934.               
  7935.                  
  7936.               
  7937.                  E:
  7938.               
  7939.                  CD\BBS\TW2
  7940.               
  7941.                  COPY ..\DORINFO%3.DEF
  7942.               
  7943.                  TW2 /N%2 /OCOM%1
  7944.               
  7945.                  CD ..
  7946.               
  7947.                  
  7948.               
  7949.                  In the first example, the BBS is installed in the "\BBS" directory on the "E:" drive, and the 
  7950.                  "TW2" door is installed in the "\BBS\TW2" directory.  The "TW2" door is configured to use the 
  7951.                  "DOOR.SYS" interface, so a parameter is passed to "TW2.EXE" on the command line to tell it what to 
  7952.                  use for the "DOOR.SYS" file.  The second example has the "TW2" door installed in the same directory, 
  7953.                  but configured to use the "DORINFOx.DEF" interface.  Thus, in the second example, the 
  7954.  
  7955.               
  7956.  
  7957.  
  7958.  
  7959.  
  7960.  
  7961.                  "DORINFO%3.DEF" file is copied into the "\BBS\TW2" directory before executing the "TW2.EXE" 
  7962.                  program.  In both examples, the "TW2.EXE" program requires that the "node" number (equivalent to 
  7963.                  the Bulletron "line" number) be stated in the first parameter for the program, and that the name of the 
  7964.                  serial device ("COM1", COM2", etc..) be specified using a special "/O" parameter.  Note that, because 
  7965.                  the batch file begins execution with the root directory of the "C:" drive as the default, both examples 
  7966.                  show commands to switch the current drive to "E:", then select the correct directory for the "TW2" 
  7967.                  program.
  7968.               
  7969.                  Because many DOS based door programs have a limitation to only being able to communicate 
  7970.                  through a conventional "COM1" or "COM2" port, Bulletron will then prompt you to specify which 
  7971.                  lines in your system should be permitted to execute this door program.  If your system uses intelligent 
  7972.                  multi-port serial card(s) and a user calling in on one of those ports tries to execute a DOS program that 
  7973.                  can only support a conventional "COM1" or "COM2", the n there is a good chance that OS/2 will report 
  7974.                  an "access violation" and halt your entire system.
  7975.               
  7976.                  
  7977.               
  7978.                  1 - Line number or 0 when done [1]:
  7979.               
  7980.                  2 - Line number or 0 when done [0]:
  7981.               
  7982.                  
  7983.               
  7984.                  For an DOS program door, this is a list of phone lines that can be  permitted to open the door 
  7985.                  program.  If a particular door program is only able to use COM1 and COM2, then you would enter the 
  7986.                  line that uses "COM1" the first time that this prompt comes up, the line that uses "COM2" the second 
  7987.                  time, and zero the third time, to terminate the list.  (Remember that the "PL" command is what you use 
  7988.                  to assign serial ports to lines.)  Most door programs written for DOS systems communicate directly 
  7989.                  with the serial port hardware; that is, they are not capable of communicating through an extended serial 
  7990.                  port card, such as an intelligent Digiboard product.  If the BBS receives a call on an extended port, 
  7991.                  chances are that your DOS based door program will not be able to communicate through that port.  This 
  7992.                  phone line information prevents a call that came in on, say, COM25 from accessing a door program that 
  7993.                  only understands COM1 and COM2.  
  7994.               
  7995.                  
  7996.               
  7997.                  Access level:
  7998.               
  7999.                  
  8000.               
  8001.                  This is the minimum feature access level which the user must have before he can access this 
  8002.                  feature.  Note that this changes for each entry within outside features.  To change the access level for 
  8003.                  the outside features menu, use the "PP" command option "8".  "PP", option "8" can be used to disable 
  8004.                  all outside features if your outside computer breaks down for some reason.
  8005.               
  8006.                  
  8007.               
  8008.                  Time-out (seconds) initially:
  8009.               
  8010.                  
  8011.               
  8012.                  This time-out is not presently used for DOS program type doors because these door programs 
  8013.                  generally do all their own serial I/O right on the metal.  The BBS program has to completely relinquish 
  8014.                  control of the serial port before the DOS session can use it, so it has no way of knowing whether the 
  8015.                  door program started successfully or not.
  8016.               
  8017.                  
  8018.               
  8019.                  Time-out (seconds) during feature:
  8020.               
  8021.                  
  8022.               
  8023.                  This time-out is not presently used for DOS program type doors because these door programs 
  8024.                  generally do all their own serial I/O right on the metal.  The BBS program has to completely relinquish 
  8025.                  control of the serial port before the DOS session can use it, so it has no way of knowing whether the 
  8026.                  door program is still running. It is quite conceivable that a door program could get stuck in an infinite 
  8027.  
  8028.               
  8029.  
  8030.  
  8031.  
  8032.  
  8033.  
  8034.                  loop due to a bug in the door program, retain control of the serial port, and Bulletron would never know 
  8035.                  that the user had disconnected and that phone line would just ring with no answer until the SYSOP kills 
  8036.                  its DOS session.  
  8037.               
  8038.                  
  8039.               
  8040.                  Surcharge (cents per hour) [0]:
  8041.               
  8042.                  
  8043.               
  8044.                  If you enter a nonzero value here, when the user returns to the main BBS, the system computes 
  8045.                  the number of minutes that he was using the door, multiplies it by this factor, and deducts that number 
  8046.                  of cents from his account balance.  This surcharge can only be applied if you bill by cents or minutes.  
  8047.                  It is ignored if you bill strictly by date.  
  8048.               
  8049.                  5.4.13.7.4. Setting up DOS Program with FOSSIL Support Features
  8050.               
  8051.                  Setup for DOS Program doors with FOSSIL support is very similar to conventional DOS 
  8052.                  Program type doors, described above. When Bulletron prompts you with
  8053.               
  8054.                  
  8055.               
  8056.                  Direct(D), Dial(T), DOS(R), FOSSIL(F), DOS Prmt(P), or OS/2 prog(O)
  8057.               
  8058.                  
  8059.               
  8060.                  Enter "F" to define the feature as an DOS Program with FOSSIL support type door.
  8061.               
  8062.                  The significant difference between this type of outside feature and the conventional DOS 
  8063.                  program type is that, with FOSSIL support, the BBS program never relinquishes control of the serial 
  8064.                  port.  Instead, it uses a small TSR (terminate and stay resident) program to hook the INT 14H vector 
  8065.                  inside the DOS session to make it appear to the DOS program as if a FOSSIL driver is running in the 
  8066.                  virtual DOS machine.  All I/O requests that the DOS program makes to the serial ports, video display 
  8067.                  and keyboard, are then serviced by Bulletron directly.  Line number restrictions are  meaningless for 
  8068.                  FOSSIL type doors.  Even if the line requesting the door has no serial port hardware, or is a LAN 
  8069.                  connection made via named pipe, the BBS can execute service the door's I/O requests correctly.  The 
  8070.                  setup operation, therefore, does not prompt for line number restrictions for FOSSIL support doors, and 
  8071.                  both the start-up and operational time-outs are handled properly.
  8072.               
  8073.                  Within the batch procedure, for a FOSSIL support door, you must execute a program supplied 
  8074.                  with Bulletron, named NPFOSSIL.EXE, before any I/O can be done using the FOSSIL driver.  
  8075.                  NPFOSSIL is a small TSR program that traps INT 14H requests and passes them to Bulletron for 
  8076.                  execution.
  8077.               
  8078.                  The published specifications for FOSSIL drivers only allow port numbers of 0 through 254 
  8079.                  ("COM1" through "COM255").  To circumvent this limitation, Bulletron always builds drop files 
  8080.                  (DORINFOx.DEF and DOOR.SYS) for type "F" doors that indicate  "COM1", regardless of the port 
  8081.                  that is actually being used.  Set up all the "nodes" of your FOSSIL type door programs to access 
  8082.                  "COM1".  NPFOSSIL.EXE will ignore the port number that the door  program specifies in its calls and 
  8083.                  automatically route serial I/O to the correct port.  Video I/O will be routed to the correct task window if 
  8084.                  the door program does video I/O through the FOSSIL driver.  If the door program bypasses the FOSSIL 
  8085.                  driver and does any serial I/O "right on the metal", then the program will bomb.
  8086.               
  8087.                  5.4.13.7.5. Setting up OS/2 Program Outside Features
  8088.               
  8089.                  This feature requires the use of a shareware program named "OS2YOU".  You can obtain this 
  8090.                  program from our Bulletron for OS/2 Development BBS (315 471-2970), or from most public access 
  8091.                  BBS's that carry OS/2 shareware, or directly from the author at:
  8092.               
  8093.                  
  8094.               
  8095.                  M Wahlgren Software Dev.
  8096.               
  8097.                  Kransen 4E 
  8098.               
  8099.                  S-416 72  Gothenburg
  8100.  
  8101.               
  8102.  
  8103.  
  8104.  
  8105.  
  8106.  
  8107.               
  8108.                  Sweden 
  8109.               
  8110.                  Fax: +46 31 196417 
  8111.               
  8112.                  Phone: +46 31 196074 
  8113.               
  8114.                  
  8115.               
  8116.                  You begin the setup for OS/2 Program Outside Features in the same way as Direct Connect 
  8117.                  Outside Features (see section 5.4.13.7.1) until you get to the point where Bulletron asks:
  8118.               
  8119.                  
  8120.               
  8121.                  Direct(D), Dial(T), DOS(R), FOSSIL(F), DOS Prmt(P), or OS/2 prog(O)
  8122.               
  8123.                  
  8124.               
  8125.                  Here is where you enter "O" to define the feature as an OS/2 program.
  8126.               
  8127.                  
  8128.               
  8129.                  Batch file [ ]:
  8130.               
  8131.                  
  8132.               
  8133.                  You can specify the name of any OS/2 .CMD file or REXX program.  If you leave this field 
  8134.                  blank, then the user will get a command  prompt in your BBS default directory when he executes this 
  8135.                  feature.  Use this feature carefully.
  8136.               
  8137.                  
  8138.               
  8139.                  Access level:
  8140.               
  8141.                  
  8142.               
  8143.                  This is the minimum feature access level which the user must have  before he can access this 
  8144.                  feature.  Note that this changes for each entry within outside features.  To change the access level for 
  8145.                  the outside features menu, use the "PP" command option "8".  "PP", option "8" can be used to disable 
  8146.                  all outside features if  your outside computer break down for some reason.  
  8147.               
  8148.                  
  8149.               
  8150.                  Time-out (seconds) during feature:
  8151.               
  8152.                  
  8153.               
  8154.                  You can set this time-out to force termination of the program if the user's keyboard is idle for the 
  8155.                  specified number of seconds.
  8156.               
  8157.                  
  8158.               
  8159.                  Surcharge (cents per hour) [0]:
  8160.               
  8161.                  
  8162.               
  8163.                  This charge is billed to the user's account if you set up the BBS to bill by time ($) or minutes.
  8164.               
  8165.                  When you obtain the OS2YOU program, unpack all of its files into the BBS default directory.  
  8166.                  No setup or configuration is required.  
  8167.               
  8168.                  5.4.13.7.6. Setting up a DOS Shell
  8169.               
  8170.                  You begin the setup for DOS Shell Outside Features in the same way as Direct Connect Outside 
  8171.                  Features (see section 5.4.13.7.1) until you get to the point where Bulletron asks:
  8172.               
  8173.  
  8174.               
  8175.  
  8176.  
  8177.  
  8178.  
  8179.  
  8180.                  
  8181.               
  8182.                  Direct(D), Dial(T), DOS(R), FOSSIL(F), DOS Prmt(P), or OS/2 prog(O)
  8183.               
  8184.                  
  8185.               
  8186.                  Here is where you enter "P" to define the feature as a DOS prompt.  This is the end of the setup 
  8187.                  for a DOS prompt door.  This type of  door is inaccessible to users who are not SYSOPs or assistant 
  8188.                  SYSOPs.
  8189.               
  8190.                  5.4.13.7.7. Setting up Midnight Maintenance
  8191.               
  8192.                  Many door programs require daily maintenance procedures to be run at midnight each day.  If 
  8193.                  you make a file named "MIDNIGHT.BAT" in your BBS directory, then Bulletron for OS/2 will 
  8194.                  execute this batch file as soon as possible after midnight each day.  Bulletron sets an internal flag at 
  8195.                  midnight each day that locks all users from opening new doors until the batch file is run.  It runs the  
  8196.                  file as soon as it detects that all the doors are closed.  For daily maintenance programs which must be 
  8197.                  executed in OS/2 protect mode, you can also make a "MIDNIGHT.CMD" file, which will be executed 
  8198.                  right after "MIDNIGHT.BAT", if it exists.  "MIDNIGHT.CMD" will, of course, also be executed by 
  8199.                  itself if there is no "MIDNIGHT.BAT".
  8200.               
  8201.                  5.4.14. Application Specific Database Setup
  8202.               
  8203.                  Many bulletin board applications require the ability to search for, retrieve, and display a small 
  8204.                  subset of data from a larger collection of data.  The SYSOP's first comment is usually "I need a 
  8205.                  database".  The term "database" has become a broad term and has lost much of its meaning in today's 
  8206.                  quickly changing computer jargon.  To some users, "database" refers to a sophisticated indexed 
  8207.                  hierarchical record structure such as b-tree so that given an account code, for example, an entire user 
  8208.                  record could be retrieved.  To other users, "database" simply means a collection of data searched 
  8209.                  sequentially, if necessary, such as searching for the city in a user's record.  The city would not be a key, 
  8210.                  so each record would have to be searched to look for the character string of the city name.  This could 
  8211.                  get more confusing since one user may say he lives in LA.  while another says he lives in Los Angeles 
  8212.                  and a string search would not match on both.  A key search is quicker, but there are practical limits to 
  8213.                  the  number of possible keys and the spelling of the keys must be consistent:  LA, Los Angeles, 
  8214.                  LosAngls, would be considered different entities.  A string search is more flexible, but requires 
  8215.                  searching the entire file which could take a significant amount of time.  
  8216.               
  8217.                  Bulletron provides several means of maintaining, searching, and accessing a group of data items.  
  8218.                  The means that you choose depends on the amount of data you have, how it is organized, and how it 
  8219.                  will be used.  The BBS files are actually themselves a database.  The user database is accessed by 
  8220.                  account code with a "indexed sequential b-tree access method".  This means that given the account 
  8221.                  code, Bulletron goes directly to the record, it does not search the entire file.  If your application requires 
  8222.                  maintaining a list of registered owners and the registration number is their account code, then to ask the 
  8223.                  question "who is M123754" you would enter "WA M123754".  If, instead, you wanted to know all the 
  8224.                  users who lived in Beverly Hills, you would enter "WS Beverly Hills" and Bulletron would do a 
  8225.                  sequential search through all the city fields (since the city is not a key) looking for that string.  If a user 
  8226.                  misspelled or abbreviated the city, however, he would not be found in that match.  Each Bulletron user 
  8227.                  can answer a multiple choice questionnaire.  Bulletron can search through the answers of those  
  8228.                  questionnaires very rapidly searching for certain replies.  The "WA", "WS", and "MS" commands are 
  8229.                  actually powerful data searching commands for accessing information about people.  
  8230.               
  8231.                  If your collection of data is about "things" such as book subjects, titles, and authors, each "thing" 
  8232.                  could be put into a message.  The book subject could be put into the message summary.  The boards 
  8233.                  could be split by subject matter so that one sub-board was science fiction, one sub-board about 
  8234.                  technical subjects, and another about romance novels.  The user would go to the sub-board containing 
  8235.                  the subject matter of interest and search through summary only or the summary and message content 
  8236.                  for specific key words, author's name, or book title.  If the summary was "IBM software bugs and 
  8237.                  fixes", the user could find the information by entering either "IBM", "software", "bug", or "fix".  If this 
  8238.                  was a keyed field, such as the account name in the user database, he would have to spell the summary 
  8239.                  exactly and therefore would probably not find the information he was looking for.  Bulletron may take 
  8240.                  some time to read through the summary or message to look for the string containing the information 
  8241.                  that the user requests, but if the subject matter is separated into individual sub-boards, that time would 
  8242.                  not be too great.  You can also define a matchmaker questionnaire which points to a particular message.  
  8243.                  Then quickly searching the questionnaires would locate the message with the required information.  
  8244.                  The "MS", "RS", and "SS" commands then become powerful data search commands.  
  8245.               
  8246.  
  8247.               
  8248.  
  8249.  
  8250.  
  8251.  
  8252.  
  8253.                  If your data is organized into a large file of repeating information where all the data for one 
  8254.                  occurrence is on one line such as football player's name, age, height, weight, speed, scores, etc.., then a 
  8255.                  simple sequential file search could be done. You could request a list of all players with a particular age.  
  8256.                  This is done with a simple "download search".  The "DS" command, which is a subset of the download 
  8257.                  command, will only list those  lines in the file containing the search string.  
  8258.               
  8259.                  Bulletron also has an "application specific database".  It allows keyed searches for ranges on a 
  8260.                  limited number of fields.  If each of the items in the football player's file above was defined with a key, 
  8261.                  it would be possible to select all football players within a certain age range (rather than a specific age) 
  8262.                  and with a score greater than a set standard.  This would be done  by having the data from another file 
  8263.                  (such as dBase) converted to a "flat delineated" file, and loaded into an Bulletron organized file.  This 
  8264.                  section tells how to set up that database feature of  Bulletron.  
  8265.               
  8266.                  The important thing to remember is that one person's solution to "database" may not work for 
  8267.                  someone else.  It all depends on the type of data, how it is to be searched, how much data has to be 
  8268.                  online at one time.  One of the above mentioned techniques may work faster or provide more flexibility 
  8269.                  than another.  
  8270.               
  8271.                  The Bulletron database feature is intended to take data from a dBase-like file, convert the keys to 
  8272.                  the b-tree structure used with the other Bulletron files, and make the data available online  for very fast 
  8273.                  search and access.  This feature consists of  additional logic within the BBS program itself plus a utility 
  8274.                  program called BBUTLDB2 (BBUTLDBL for the client/server version).
  8275.               
  8276.                  Installation of this feature requires three steps:  
  8277.               
  8278.                      1.    Create a delineated "flat" file from the existing database.
  8279.               
  8280.                      2.    Set the parameters for the Bulletron database using BBUTLDB2.
  8281.               
  8282.                      3.    Load the Bulletron database from the delineated file using BBUTLDB2.
  8283.               
  8284.                  A delineated "flat" file is a sequential file where each field of data is separated by quotes and 
  8285.                  commas, and each record is terminated by a carriage return/line feed.  A sample file  provided is a list 
  8286.                  of companies which supply public domain/shareware software.  A dBase program was used to maintain 
  8287.                  the data, and the "copy" function was used to create the  delineated flat file.  A few records of the file 
  8288.                  would look like  this:  
  8289.               
  8290.                  
  8291.               
  8292.                  "", "", "", "", "", "", "", , "Shareware Express", "", "32302Camino Capistrano, Suite 204", "Box 
  8293.                  219", "San Juan Capistrano", "CA","92693-0219", "714", "240-0729", "", "", "", "", "", T, F, 
  8294.                  F
  8295.               
  8296.                  "", "gave disk at computer show", "", "", "", "", "", , "ComputerWorks", "", "", "PO Box 732-3", 
  8297.                  "Redlands", "CA", "92374", "","", "", "", "", "", "", T, F, F
  8298.               
  8299.                  "", "", "", "", "", "", "", , "Lone Star Software", "", "", "2100Hwy 360, Suite 1204", "Grand 
  8300.                  Prairie", "TX", "75050", "2- 14","647-1010", "", "", "", "", "", T, F, F
  8301.               
  8302.                  "", "", "", "", "", "", "", , "California Freeware", "", "", "1466Springline Dr", "Palmdale", "CA", 
  8303.                  "93550", "805", "273-03-00","", "", "", "", "", T, F, F
  8304.               
  8305.                  "", "", "", "", "", "", "", , "Public Domain User Group", "", "","PO Box 2538", "Ormond Beach", 
  8306.                  "FL", "32075", "904", "441-4560","", "", "", "", "", T, F, F
  8307.               
  8308.                  The exact contents and description of each field depends on the particular database in use.  In this 
  8309.                  example, note that the  9th field is the company name and the 15th field is the zipcode.  It is known 
  8310.                  from the original dBase program that the company name  can be up to 30 characters long (the 
  8311.                  maximum key length for Bulletron is 28 characters, however) and the maximum length of the zipcode 
  8312.                  is 10 characters.  
  8313.               
  8314.                  The Bulletron database can have up to 6 keys of 28 characters each.  The keys should be defined 
  8315.                  so that the most significant key is first and the least significant key is last.  If it is a real estate database 
  8316.                  containing location, cost of house, area of house, number of bedrooms, and number of baths, the 
  8317.                  location will be the  most significant and most frequently used, while the number of baths may 
  8318.                  probably be the least significant key.  
  8319.  
  8320.               
  8321.  
  8322.  
  8323.  
  8324.  
  8325.  
  8326.               
  8327.                  Each key can be either numeric or alphanumeric (character) format.  If it is numeric, there will be 
  8328.                  a number of decimal places to the right of the decimal point defined for the field.  A number such as 
  8329.                  1234.567 will have a maximum field width of 8 characters (including the decimal point) with 3 decimal 
  8330.                  places to the right of the decimal point.  
  8331.               
  8332.                  Most fields will be searched directly while others may be searched by "strings".  For example, a 
  8333.                  zipcode would be searched directly.  Entering either the entire zipcode or the first few  digits of the 
  8334.                  zipcode would access those records with the zipcodes directly.  If the key is the subject of a book, 
  8335.                  similar to message summaries, then the user may want to search for a key word which would not 
  8336.                  necessarily be the first part of the key.  In the  example with the company name, if the field is searched 
  8337.                  directly and the user wants a company name with the word "soft" in it, then Bulletron will only find 
  8338.                  those companies whose name began with "soft" such as "Software Unlimited".  If the field was 
  8339.                  searched by "string", then a company name such as "ABC Software" would be found also.  Searching 
  8340.                  by string takes longer than searching directly since all entries must be checked.  Whether a key is 
  8341.                  searched directly or by string depends on the content of the key field.  
  8342.               
  8343.                  Although the access level required to use the database can be changed online, all the parameters 
  8344.                  to define the database and load the database must be done off-line.  Bulletron does not update the 
  8345.                  database online, it only searches, reads, and displays information to the users.  
  8346.               
  8347.                  After creating a delineated flat file with your database program, run BBUTLDB2.  Enter:
  8348.               
  8349.                  
  8350.               
  8351.                  BBUTLDB2
  8352.               
  8353.                  
  8354.               
  8355.                  The following menu will display:
  8356.               
  8357.                  
  8358.               
  8359.                  1 - Change parameters
  8360.               
  8361.                  2 - Import a delineated file
  8362.               
  8363.                  3 - Search the database
  8364.               
  8365.                  4 - Rebuild indices
  8366.               
  8367.                  
  8368.               
  8369.                  First use function 1 to define the parameters of the database.  You will be prompted with a series 
  8370.                  of questions which Bulletron uses to create and access "BBDATBAS.DAT" and "BBDATBAS.IDX".  
  8371.               
  8372.                  
  8373.               
  8374.                  Path for the database files:
  8375.               
  8376.                  
  8377.               
  8378.                  Enter the path for the directory which will contain the  BBDATBAS.DAT file and index.  The 
  8379.                  path can be up to 32 characters long.  For example, "\BBS" or "D:\BBS".  NOTE:  if you later decide to 
  8380.                  delete the database, blank out this path field and Bulletron will not look for the file.  This will avoid the 
  8381.                  error 101 on file 25.  
  8382.               
  8383.                  
  8384.               
  8385.                  Menu title:
  8386.               
  8387.                  
  8388.               
  8389.                  This will be the title on the main command menu for the "J" command if the user has access to 
  8390.                  the database.  
  8391.               
  8392.  
  8393.               
  8394.  
  8395.  
  8396.  
  8397.  
  8398.  
  8399.                  The following warning message will then display:  
  8400.               
  8401.                  
  8402.               
  8403.                  Changing the keys may force the existing database to be deleted.  Do you want to change 
  8404.                  the keys (Y/[N]):
  8405.               
  8406.                  
  8407.               
  8408.                  The first time you set up the database, you must answer "Y" to continue to define the database.  If 
  8409.                  the database already existed and you just wanted to change the drive that the file was on, or the wording 
  8410.                  of the menu title, enter "N" or [enter] and the actual database parameters or the database file would not 
  8411.                  be altered.  If you do change the parameters, the next question would be:  
  8412.               
  8413.                  
  8414.               
  8415.                  Number of keys (1 to 6):
  8416.               
  8417.                  
  8418.               
  8419.                  Enter the number of keys that will be used.  There can be at most six keys of 28 characters per 
  8420.                  key.  
  8421.               
  8422.                  For each key, the screen will clear and a number of questions will be prompted for that particular 
  8423.                  key.  The first question is 
  8424.               
  8425.                  
  8426.               
  8427.                  Key # n; Description:
  8428.               
  8429.                  
  8430.               
  8431.                  Enter the description of the key, up to 30 characters.  When the summary of keys is displayed to 
  8432.                  the user, a heading line will be displayed composed of the first n characters of this description field 
  8433.                  where n is the length of the actual data field.  
  8434.               
  8435.                  
  8436.               
  8437.                  (C)haracter or (N)umeric data:
  8438.               
  8439.                  
  8440.               
  8441.                  All data should be considered character data at this time, so enter C.
  8442.               
  8443.                  
  8444.               
  8445.                  Search type (S)tring or (D)irect:
  8446.               
  8447.                  
  8448.               
  8449.                  Enter "S" if you want the key entered to be used as a search string within the database record.  
  8450.                  Enter "D" if you want that field to be accessed directly.  In the example, the zipcode would be a "D" 
  8451.                  and the company name would be an "S" for a more thorough search.  
  8452.               
  8453.                  
  8454.               
  8455.                  Field number within flat file:
  8456.               
  8457.                  
  8458.               
  8459.                  This identifies the data within the flat file to be used as the  key.  In the example with the public 
  8460.                  domain/shareware companies, the zipcode would be field 15 and the company name would be field 9. 
  8461.                  Note that, if the flat field number is -1, Bulletron will generate the record number:  5-digit numeric 
  8462.                  direct search.  By adding this key, the user can then access a single record directly after getting a list of 
  8463.                  all possible entries.  By making this a key which the SYSOP can change rather than having Bulletron 
  8464.                  always add this key, the SYSOP can change the description (from RECD, Entry, House number, etc.) 
  8465.  
  8466.               
  8467.  
  8468.  
  8469.  
  8470.  
  8471.  
  8472.                  and can change the sequence that this key is prompted for among the other keys.  
  8473.               
  8474.                  
  8475.               
  8476.                  Maximum length of field:
  8477.               
  8478.                  
  8479.               
  8480.                  This is the maximum size of the flat file field.  The largest key length is 28 characters.  After all 
  8481.                  the keys have been defined, all the parameter information will be displayed for confirmation: 
  8482.               
  8483.                  
  8484.               
  8485.                  Drive: C;   Title: PD Database;  # of keys: 2
  8486.               
  8487.                  
  8488.               
  8489.                                                                 Chr    Dec  Srch  Inp  Max
  8490.               
  8491.                  Key  Description                  Num  pts   type   fld    len
  8492.               
  8493.                  1       Zipcode                       C         0       D     15    10
  8494.               
  8495.                  2       Company Name       C         0       S       9     28
  8496.               
  8497.                  
  8498.               
  8499.                  Do you want to change this (Y/[N]): 
  8500.               
  8501.                  
  8502.               
  8503.                  The "Dec pts" is the number of decimal places to the right of the  decimal point for numeric data.  
  8504.               
  8505.                  After the parameters have been defined, run BBUTLDB2 to load the delineated flat file into an 
  8506.                  Bulletron file.  Select option "2" to import the data.  BBUTLDB2 then prompts you for the file name of 
  8507.                  the delineated file.  If no file name is entered, the program will terminate without changing any data.  A 
  8508.                  warning message will then display asking if you want to erase the existing data, if any, and replace the 
  8509.                  data with the new data, or whether you want to add the new data to the existing data.  
  8510.               
  8511.                  Although each field in the delineated flat file will become a line of text in the detailed database 
  8512.                  entry, it may be difficult for some users to differentiate one field from another.  This is especially true if 
  8513.                  the field contains just a "Y" or "N", for example.  To provide a way of labeling each field, Bulletron 
  8514.                  will next ask if you wish to add field definitions to the data in the resulting message.  The labels are not 
  8515.                  retained separately, but are merged with the data to be part of the full database record.  
  8516.               
  8517.                  If you enter "Y", you can enter up to thirty (30) fields of up to thirty (30) characters per field.  As 
  8518.                  the data is extracted from the delineated file and placed in a message, each field will be  preceded by 
  8519.                  the field definition that you entered.  Trailing blanks are NOT stripped, so you can align the data by 
  8520.                  padding the field definitions, or just put in one space as a separator if you want to reduce the amount of 
  8521.                  data transmitted.  
  8522.               
  8523.                  A note about performance:  if a key is a "direct" key and the user searches with this as the first 
  8524.                  key, Bulletron positions the file at that key so it does not read through the entire file.  For example, if 
  8525.                  the user selects the zipcode key beginning with those zipcodes which start with 9, then Bulletron will 
  8526.                  start reading the file at zipcode 90000 and will not read 00000 thru 89999 which makes the access very 
  8527.                  fast.  If, however, the user selects a key which requires a "string" search, then Bulletron must read every 
  8528.                  key  beginning with the first and look for that string of characters within each and every key.  This will 
  8529.                  slow down the access.  Therefore, performance is best when all the keys are "direct" and not "string" 
  8530.                  keys.  If all of the keys are "string search" keys, then much of the advantage of a random access 
  8531.                  database is lost.  Even if the keys are "string searched", Bulletron reads only the keys and not the entire 
  8532.                  record, so it is still faster than doing an "SS" or "RS" command on the message database.  
  8533.               
  8534.                  The data will then be loaded into BBDATBAS in the directory that you specified.  
  8535.                  BBSFILE9.DAT must be present in that directory also.  The delineated file can then be deleted after it 
  8536.                  has been imported.  If you have several delineated files, each can be added separately by not erasing the 
  8537.                  existing database and adding additional data to it.  
  8538.  
  8539.               
  8540.  
  8541.  
  8542.  
  8543.  
  8544.  
  8545.               
  8546.                  All the data from the delineated flat file, not just the key fields, is stored as a message WHERE 
  8547.                  EACH FIELD IS A SEPARATE LINE.  If the user selects a summary only, then only a list of all the 
  8548.                  keys for those records which match the user's selection specifications will be displayed.  This is useful 
  8549.                  to determine how many matches will occur before displaying them all.  If the user selects the full text to 
  8550.                  be displayed, then the entire message with each field on a separate line will be displayed also.  
  8551.               
  8552.                  Option 3, Search the Database, is provided to allow testing the database off-line just as a user 
  8553.                  would if the database was online.  The "help" function is a dummy and does not access HELPDB as it 
  8554.                  does online.  
  8555.               
  8556.                  Option 4, Rebuild Indices, is provided to do the same function as REBUILD2.EXE.  It should 
  8557.                  never be necessary since the file is never updated by Bulletron after it is created, but the function is 
  8558.                  available in case the index file is deleted and needs to be recreated without reloading the delineated flat 
  8559.                  file.  The rebuild function can also be executed by entering 
  8560.               
  8561.                  
  8562.               
  8563.                  BBUTLDB2 REBUILD
  8564.               
  8565.                  
  8566.               
  8567.                  from an OS/2 full screen command prompt.  If a batch file is being used which executes 
  8568.                  REBUILD2.EXE and you want to rebuild the database also, be sure to execute REBUILD2 first:
  8569.               
  8570.                  
  8571.               
  8572.                  REBUILD2
  8573.               
  8574.                  BBUTLDB2 REBUILD
  8575.               
  8576.                  
  8577.               
  8578.                  Usually, you will not need to rebuild the index file for the application specific database, however, 
  8579.                  because it is never written to during normal BBS operation, and therefore, can not be corrupted in the 
  8580.                  event of a power failure.
  8581.               
  8582.                  The help message for the database is located in "HELPDB" on your "utilities" sub-board.
  8583.               
  8584.                  The access level used to determine whether a user can access the database is determined by 
  8585.                  option "V" in the "PP" command.
  8586.               
  8587.                  5.4.15. Artificial Intelligence Features
  8588.               
  8589.                  Bulletron has a unique feature called "Text-Branching".  In its simplest form, text-branching will 
  8590.                  display some text (a message)  to a user, prompt the user for a word or sentence, search that sentence 
  8591.                  for certain key words, then branch to the next message based on the key word that the user entered.  
  8592.                  This can be used in such applications as a data search, programmed learning, or a simple game.  
  8593.                  Consider the following possible messages.  
  8594.               
  8595.                  
  8596.               
  8597.                  "It's Saturday night and you are thinking of something to do.
  8598.               
  8599.                  Your choices include going to a movie, going to a restaurant, or
  8600.               
  8601.                  visiting friends.  What do you want to do?"
  8602.               
  8603.                  
  8604.               
  8605.                  The user then types in "movie" which causes a branch to the next message which may be 
  8606.                  something like
  8607.               
  8608.                  
  8609.               
  8610.                  "What part of town are you in?".
  8611.  
  8612.               
  8613.  
  8614.  
  8615.  
  8616.  
  8617.  
  8618.               
  8619.                  
  8620.               
  8621.                  The user may then type in "valley" which causes a branch to a message which lists all the movies 
  8622.                  currently playing in "the valley".  Had the user typed in "restaurant" or "food" or  "dinner", a different 
  8623.                  message would have been displayed next such as 
  8624.               
  8625.                  
  8626.               
  8627.                  "What kind of food do you want to eat?"
  8628.               
  8629.                  
  8630.               
  8631.                  If the user typed in "spaghetti", but that was not one of the key words predefined, the  user could 
  8632.                  then type in "HINT".  He would then get a list of valid key words, one of which might be "Italian" food.  
  8633.                  He then enters "Italian" and gets a listing of Italian restaurants.  
  8634.               
  8635.                  A school may construct entire courses composed of messages which lead students to more 
  8636.                  complex subjects or re-explain the subject in a different way if the student answers incorrectly.  
  8637.               
  8638.                  
  8639.               
  8640.                  Plants make food by photosynthesis.  A by-product of the process is chlorophyll which is a 
  8641.                  green substance...  If a plant is healthy and making food, what color would you expect 
  8642.                  the leaves to be?
  8643.               
  8644.                  
  8645.               
  8646.                  If the student types in "green", he would go to the next part of the lesson.  If he types in "brown", 
  8647.                  he would be shown another message that tries to explain the concept in a different way.
  8648.               
  8649.                  The simple Adventure game could also be written.  
  8650.               
  8651.                  
  8652.               
  8653.                  You are in a small clearing and there are 
  8654.               
  8655.                  four paths leading away, north, south, east, 
  8656.               
  8657.                  and west.  Which path do you want?"  
  8658.               
  8659.                  
  8660.               
  8661.                  The user may enter "north" which causes the next message to be displayed such as
  8662.               
  8663.                  
  8664.               
  8665.                  The north path takes you to an old castle.  
  8666.               
  8667.                  You stop at the door.  Should you go thru the door or walk around 
  8668.               
  8669.                  the castle?
  8670.               
  8671.                  
  8672.               
  8673.                  If the user entered "thru" or "door", it would take him to one message while "walk" or "around" 
  8674.                  might take him to different message.  There could be hundreds or even thousands of  messages which 
  8675.                  would inform, teach, or entertain users.  Each message linked to any number of messages until the last 
  8676.                  message has a key called "END".  
  8677.               
  8678.                  After you have defined the database, lessons, or game that you want for your BBS, there are three 
  8679.                  steps which must be done to implement it
  8680.               
  8681.                      1.    Create a text file containing the messages, keys, and key words in a predefined format,
  8682.               
  8683.                      2.    Run the functions in BBUTIL2 to create a database from the text file, and
  8684.  
  8685.               
  8686.  
  8687.  
  8688.  
  8689.  
  8690.  
  8691.               
  8692.                      3.    Use the "PXN" command within Bulletron to define the parameters of the text--branching to 
  8693.                      the BBS.  
  8694.               
  8695.                  Here is a trivial sample of how the text file might look:
  8696.               
  8697.                  
  8698.               
  8699.                  START
  8700.               
  8701.                  This is the FIRST message.  The NEXT message 
  8702.               
  8703.                  would be the SECOND message.  If $$$ was 
  8704.               
  8705.                  really clever, he could enter the THIRD 
  8706.               
  8707.                  message.  Which message?  
  8708.               
  8709.                  **************       separates the text from the keys
  8710.               
  8711.                  first*start
  8712.               
  8713.                  next/second*REC2
  8714.               
  8715.                  [GNL]{100}third*REC3
  8716.               
  8717.                  -----------------------      dashes separate messages.
  8718.               
  8719.                  REC2
  8720.               
  8721.                  This is the 2nd message, and the next message 
  8722.               
  8723.                  would be the THIRD.  If $$$ entered word 
  8724.               
  8725.                  FINAL, the game would end.  What do you want 
  8726.               
  8727.                  to do next?  
  8728.               
  8729.                  **************************
  8730.               
  8731.                  final*End
  8732.               
  8733.                  third*rec3
  8734.               
  8735.                  -----------------------------------
  8736.               
  8737.                  rec3
  8738.               
  8739.                  This is the 3rd and last message of the demo.  
  8740.               
  8741.                  If you enter ANYTHING, it will start over, and 
  8742.               
  8743.                  OVER would end it all.  What do you want to 
  8744.               
  8745.                  do?  
  8746.               
  8747.                  *******************************
  8748.               
  8749.                  OVER*end
  8750.               
  8751.                  anything*start
  8752.               
  8753.                  -----------------------------------
  8754.               
  8755.                  
  8756.               
  8757.  
  8758.               
  8759.  
  8760.  
  8761.  
  8762.  
  8763.  
  8764.                  This file has just three messages while real applications usually have hundreds.  Each message 
  8765.                  begins with the key to the message and ends with a row of eight (8) or more dashes (-).  The first key of 
  8766.                  the first message must be the word "START".  The key to each message after that must be from 1 to 8 
  8767.                  characters in  length and must be unique.  You can put numbers as part of the key to make it unique if 
  8768.                  necessary.  In the above example, "START" is the key to the first message, "REC2" is the key to the 
  8769.                  second message, and "REC3" is the key to the last message.  It is not important whether the keys are 
  8770.                  upper or lower case.  
  8771.               
  8772.                  Following the key is the text that will be displayed to the user.  The length of the message text is 
  8773.                  not important except that the message and key words (everything from the key to the dashes) must fit 
  8774.                  within 9,000 bytes.  It is not important whether the message is upper or lower case.  The upper case 
  8775.                  words in the example only illustrate what key words are listed below the asterisks, they do not have to 
  8776.                  be upper case in your file nor do the key words have to be included in the message text.  Your message 
  8777.                  text should end with a sentence that will prompt the user with what he should enter.  
  8778.               
  8779.                  The three dollar signs ($$$) will be replaced by an account code of a user.  For example, assume 
  8780.                  you are writing a game and you want to make the game more personal by making the other characters 
  8781.                  in the game the other users of the BBS.  Every time the program encounters $$$, it will replace that 
  8782.                  with the account code of a user where that user is picked by going backwards through the lastlogon date 
  8783.                  key and who has access to the board that the game is played on.  If ACCT1 logged on at 1:00 PM, 
  8784.                  ACCT2 logged on at 2:00 PM, ACCT3 logged on at 3:00 PM, and ACCT4 is now playing the game at 
  8785.                  4:00 PM, the first substitution of $$$ will be ACCT3, the next will be ACCT2, and the next will be 
  8786.                  ACCT1.  Therefore the accounts put into the story will change each time the game is played depending 
  8787.                  on who logged on recently.  Bulletron provides the following escape sequences that can be used to 
  8788.                  dynamically modify text in your script:  
  8789.               
  8790.                      $^$      is replaced by the account code that logged onto the system prior to the 
  8791.                      current user.              
  8792.               
  8793.                      ^x       is replaced by a control character that corresponds to letter "x".  For example, 
  8794.                      "^M" would produce a carriage return, "^J" would produce a line feed, and  
  8795.                      "^I" would produce a tab character.              
  8796.               
  8797.                      $+$      is replaced by the user's account code.              
  8798.               
  8799.                      $N$      is replaced by the user's name/handle.              
  8800.               
  8801.                      $L$      is replaced by the user's city and state.              
  8802.               
  8803.                      $A$      is replaced by "Y" if the current session has ANSI or RIP graphics, or "N" if 
  8804.                      not.              
  8805.               
  8806.                      $T$      is replaced by the number of minutes remaining in the user's current session.              
  8807.               
  8808.                      $$$      is replaced by an account code chosen at random.              
  8809.               
  8810.                      $O$      is replaced by the user's ordinal call number; that is, "1st", "2nd", etc..              
  8811.               
  8812.                      $B$      is replaced by the short name of your BBS, which you specify using option 
  8813.                      "N" of the "PP" command.              
  8814.               
  8815.                      $S$      is replaced by the descriptive name of the current sub-board.              
  8816.               
  8817.                      $P$      is replaced by the main system prompt (usually "What next?")              
  8818.               
  8819.                      $I$      is replaced by the task (line ) number of the  line on which the user is logged 
  8820.                      on.              
  8821.               
  8822.                      $TS$     is replaced by the minutes already used in the current session              
  8823.               
  8824.                      $TD$     is replaced by the minutes already used in the current day.              
  8825.               
  8826.                      $TL$     is replaced by the total minutes used in the user's lifetime.              
  8827.               
  8828.                  A row of eight or more asterisks (*) separates the text of the message from the list of key words 
  8829.                  and their associated keys.  Do not use a string of asterisks or dashes as the first eight characters on a 
  8830.  
  8831.               
  8832.  
  8833.  
  8834.  
  8835.  
  8836.  
  8837.                  line within your message.  
  8838.               
  8839.                  The next line or lines are the key words and their associated keys.  There can be any number of 
  8840.                  these lines.  The key words are listed first (separated by slash if more than one) and followed by the key 
  8841.                  with an asterisk (*) separating the last key word and the  key.  The key words and keys must be from 1 
  8842.                  to 8 characters.  If the key word is longer than 8 characters, just enter the first eight.  In the first line of 
  8843.                  the example, the key word is "first" and the key is "start".  If the user enters the word "first" or that 
  8844.                  word is in a sentence that he enters such as "Go to first message.", the message with key "START" will 
  8845.                  be displayed next.  
  8846.               
  8847.                  The second key word line in the example shows how two key words can point to the same key.  If 
  8848.                  the user enters a word or sentence with either "next" or "second", then the message with key REC2 will 
  8849.                  be displayed next.  If there are many key words which point to the same key and they will not fit on the 
  8850.                  same line, create  multiple lines each with the same key at the end.  BE SURE THERE ARE NO 
  8851.                  EMBEDDED OR TRAILING SPACES IN THE LINE.
  8852.               
  8853.                  Assume that there are certain paths through the messages that you want to restrict to users with a 
  8854.                  specific access level or to users who have access to a particular SIG.  The third key word line in the 
  8855.                  example is 
  8856.               
  8857.                  
  8858.               
  8859.                  [GNL]{100}third*REC3
  8860.               
  8861.                  
  8862.               
  8863.                  This means that key word "third" is valid only if the user has access to sub-board "GNL" in his 
  8864.                  SIG list OR has an access level of at least 100.  To restrict a key word to a user with a particular SIG, 
  8865.                  put the SIG in brackets ([]).  To restrict a key word to a user with a particular access level, put the 
  8866.                  access level in braces ({}).  There can be only a SIG restriction (in which case there would be no braces 
  8867.                  on that line), or only an access level (in which case there would be no brackets on that line).  If you 
  8868.                  have both, however, the SIGs must come first as shown in the example.  Assuming a user who does not 
  8869.                  have "GNL" in his SIG list or whose access level is less than 100 enters "third", Bulletron will ignore 
  8870.                  that word as if it were not a valid key word.  If a user has access to "GNL", but it is not in his SIG list, 
  8871.                  he will NOT have access to "third".  
  8872.               
  8873.                  The row of eight (8) or more dashes (--------) marks the end of the message.  Remember, 
  8874.                  everything from the key in the first line of the message to the dashes must be less than 9,000 characters 
  8875.                  including the row of asterisks.  
  8876.               
  8877.                  Note that each key at the end of a keyword/key line must have a corresponding message.  The 
  8878.                  only exception to that rule is a special word "END" which means that there are no more messages to 
  8879.                  branch to and the "game" is over.  
  8880.               
  8881.                  The text file that you create should be a "nondocument" file similar to the help messages.  There 
  8882.                  should be no embedded word processor control characters in it.  After you have the text file  composed 
  8883.                  and edited, the text file must be input into the BBUTIL2  program to create the actual database which 
  8884.                  users will access. File "SAMPLE.TXT" is a file of the previous trivial example to show you exactly 
  8885.                  how it should look.  
  8886.               
  8887.                  From a command line prompt, run BBUTIL2:
  8888.               
  8889.                  
  8890.               
  8891.                  BBUTIL2
  8892.               
  8893.                  
  8894.               
  8895.                  BBUTIL2 function "9" displays the following menu:
  8896.               
  8897.                  
  8898.               
  8899.                  1 - Create database
  8900.               
  8901.                  2 - Test the database
  8902.               
  8903.  
  8904.               
  8905.  
  8906.  
  8907.  
  8908.  
  8909.  
  8910.                  Q - Quit
  8911.               
  8912.                  
  8913.               
  8914.                  To make the database from the text file that you just created, enter "1".  The program will then 
  8915.                  prompt you for the file name of the text file.  The database will be created, then checked to make sure 
  8916.                  that there are messages for all the keys that you have referenced.  Error messages, if any, will display on 
  8917.                  the printer.  Some of the common errors are:
  8918.               
  8919.                     CANNOT ADD KEY X, ERROR Y, LINE Z - On or about line Z in your text file is a key 
  8920.                       which cannot be added to the file.  Most likely you have already defined that key 
  8921.                       on another message.  Check for duplicate key definitions.              
  8922.               
  8923.                     RECORD X KEY Y NOT FOUND - The message which is defined with key X has a key 
  8924.                       word/key combination with key Y, but key Y is not defined in another  message.              
  8925.               
  8926.                     RECORD X LINE TOO LONG OR MESSAGE FULL - The message defined by key X has a 
  8927.                       line in it that is more  than 120 characters.              
  8928.               
  8929.                     RECORD X HAS 0 LENGTH KEY - The message defined with key X is missing a key in the 
  8930.                       key word/key line.              
  8931.               
  8932.                  To test the database the way it would work when it is online within the BBS, select option "2".  
  8933.                  You will be displayed messages and prompted for key words just like you would if you were running 
  8934.                  online.
  8935.               
  8936.                  There are several key words which are reserved and should not be used as key words in your data:
  8937.               
  8938.                     HINT - will display a list of key words to the user.              
  8939.               
  8940.                     REPEAT and WHAT will redisplay the message.              
  8941.               
  8942.                     HELP and ? will display the "HELPA" help message.              
  8943.               
  8944.                     DONE, EXIT, QUIT, END, and STOP will end the game.              
  8945.               
  8946.                     ANYTHING - will go to the message regardless of what the user enters.              
  8947.               
  8948.                  Do not use words with key words in them such as "ENDURE", which contains "END".  One way 
  8949.                  to define the keys would be to use letters and numbers such as "G123" which might refer to page "G", 
  8950.                  box "123" in your game design flowchart.
  8951.               
  8952.                  CTRL/K will also end the game and return the user to the main command prompt.  If some of 
  8953.                  your key words are subsets of other key words, place the smaller key word first.  For example, if north 
  8954.                  and northwest are both key words, put the line containing "north" ahead of "northwest".  When the user 
  8955.                  enters "north", it will match to "north" and not to the substring "north" in "northwest".
  8956.               
  8957.                  The  next step in implementing text-branching is to define the parameters within Bulletron.  This 
  8958.                  is done with the installation command, "PX", subcommand "N". The following questions will be asked 
  8959.                  on the "PXN" command:
  8960.               
  8961.                  
  8962.               
  8963.                  Main menu heading:
  8964.               
  8965.                  
  8966.               
  8967.                  The command that the user enters to access this feature has been predefined to be "A".  The 
  8968.                  explanation as to what this command does has not been defined since it could be "Adventure", "Data 
  8969.                  Search", "Learning", or anything else.  Enter the heading that you want displayed on the main 
  8970.                  command menu (31 characters maximum) for the "A" command.  
  8971.               
  8972.                  
  8973.               
  8974.                  Submenu START prompt with prompt character:
  8975.               
  8976.  
  8977.               
  8978.  
  8979.  
  8980.  
  8981.  
  8982.  
  8983.                  
  8984.               
  8985.                  When the user enters "A", at the main system prompt, Bulletron displays a submenu containing 
  8986.                  three or four options.  The first option is the prompt to begin with the message that has key "START".  
  8987.                  Unlike other places in the Bulletron program, you are also permitted to define the prompt character as 
  8988.                  the first character in this text.  Some examples of valid entries for this would be:
  8989.               
  8990.                  
  8991.               
  8992.                  1 - Start a new game
  8993.               
  8994.                  P - Play
  8995.               
  8996.                  N - New game
  8997.               
  8998.                  D - Display data
  8999.               
  9000.                  
  9001.               
  9002.                  Be sure the first character is upper case, since that is the character that will be checked against the 
  9003.                  user's input.  
  9004.               
  9005.                  
  9006.               
  9007.                  Allow restarting (Y/N):
  9008.               
  9009.                  
  9010.               
  9011.                  If this feature is used as a game or programmed learning function, it is possible for the user to 
  9012.                  terminate in the middle  of the game and continue where he left off at a later time.  If  this feature is 
  9013.                  used as a database search function, starting in the middle may not be logical.  If the user terminates the 
  9014.                  game before it is done, whether by CTRL/K, loss of carrier, or entering END, STOP, QUIT, or EXIT, 
  9015.                  Bulletron will "remember" what message the user was on and allow him to restart at that message  if 
  9016.                  you answer "Y" to this prompt.
  9017.               
  9018.                  
  9019.               
  9020.                  Submenu RESTART prompt with prompt character:
  9021.               
  9022.                  
  9023.               
  9024.                  If you answer "Y" to "Allow restarting", you will be asked for the menu description of the second 
  9025.                  line in the submenu, the  restart prompt.  Include the prompt character as you did with the start prompt.  
  9026.                  Some examples of valid entries for this would be:
  9027.               
  9028.                  
  9029.               
  9030.                  2 - Restart the last game
  9031.               
  9032.                  C - Continue with the last lesson
  9033.               
  9034.                  
  9035.               
  9036.                  Be sure that the first letter is upper case.  The maximum length of this prompt is 31 characters.  
  9037.               
  9038.                  
  9039.               
  9040.                  # of retries before automatic HINT:
  9041.               
  9042.                  
  9043.               
  9044.                  If a user enters a word or sentence and it does not match any of the predefined key words, he will 
  9045.                  get the message "I don't understand that, try again."  If he gets this too many times, he  may get 
  9046.                  frustrated.  Of course, he can always enter "HINT", but if he fails to do that, the system will 
  9047.                  automatically give him "HINT" when he gets this error too frequently.  The "# of retries" is the  number 
  9048.                  of times it will allow him to attempt to guess the key word before it automatically gives him HINTs.  
  9049.  
  9050.               
  9051.  
  9052.  
  9053.  
  9054.  
  9055.  
  9056.                  This can be any number from 0 to 120, but a suggested number would be 5.  A 0 would imply NO 
  9057.                  HINT and would disable the HINT command.
  9058.               
  9059.                  
  9060.               
  9061.                  Access level required:
  9062.               
  9063.                  
  9064.               
  9065.                  This is the access level that the user must have before the  "A" command will display on his main 
  9066.                  menu.  If a user's access level is below this value and he enters "A", he will get the  "invalid command" 
  9067.                  message.  If you want to disable this feature to all users while you develop a new set of messages, just 
  9068.                  set the  access level very high, such as 32,700 and it will not display to anyone.
  9069.               
  9070.                    5.5.LAN Operation
  9071.               
  9072.                  5.5.1.  Logging in over the LAN
  9073.               
  9074.                  Many large companies, and quite a few smaller ones at this point in time, have moved away from 
  9075.                  the mainframe-terminal paradigm of corporate computing, and set up local area networks.  Where 
  9076.                  desktop terminals with little or no intelligence used to access a large database program running in a 
  9077.                  centralized mainframe over serial data lines, intelligent LAN workstations now run database programs 
  9078.                  right on the desktop, accessing a collection of distributed database servers.  As explained in previous 
  9079.                  sections of this manual, Bulletron fully supports connection via null modem cable from a terminal 
  9080.                  running on a desktop terminal to any of its serial ports.  Bulletron version 1 for OS/2 also supports 
  9081.                  logging in directly from a LAN workstation without a serial port connection.
  9082.               
  9083.                  The facility used for LAN logon is called "named pipes".  When you use the "PL" command to 
  9084.                  perform serial port assignments, set the modem type for any port to "L", then Bulletron for OS/2 will 
  9085.                  create a pipe named "BBS" for that session.  You must assign a port number for the line that is different 
  9086.                  from any other port number in the port assignment table.  For example, suppose that you have real 
  9087.                  serial devices named "COM1", "COM2", "COM3", "COM4" and "COM5".  You want to use "COM1" 
  9088.                  for a mouse, and want to allow up to three users at a time to log in over the LAN.  Using the "PL" 
  9089.                  command, you could set up your port assignment table as follows:
  9090.               
  9091.               
  9092.  
  9093.  
  9094.  
  9095.  
  9096.  
  9097.                  
  9098.               
  9099.                  Line  Port  Net  Modem  Acc-Lvl  Tm-Limit  BF1  BF2  CB  PAGE
  9100.               
  9101.                  1        2       N        A            0             0             1        1       N       Y
  9102.               
  9103.                  2        3       N        A            0             0             1        1       N       Y
  9104.               
  9105.                  3        4       N        H            0             0             1        1       N       Y
  9106.               
  9107.                  4        5       Y        C            0             0             1        1       N       Y
  9108.               
  9109.                  5        6       N        D            0             0             1        1       N       Y
  9110.               
  9111.                  6        7       N        L             0             0             1       1        N       N
  9112.               
  9113.                  7        8       N        L             0             0             1       1        N       N
  9114.               
  9115.                  8        9       N        L             0             0             1       1        N       N
  9116.               
  9117.                  9       -1       N       N             0             0             1        1       N       N
  9118.               
  9119.                  10     -1       N       N             0             0             1       1        N       N
  9120.               
  9121.                  
  9122.               
  9123.                  In this example, session 1 uses "COM2" and has a Hayes compatible modem with automatic 
  9124.                  speed buffering.  Session 2 uses "COM3" and also has a Hayes compatible modem with automatic 
  9125.                  speed buffering. Session 3 uses "COM4" and has a Hayes modem for which the computer to modem 
  9126.                  Baud rate must be adjusted to match the modem to modem speed - probably a Hayes Smartmodem 
  9127.                  2400.  Session 4 uses "COM5" and has a Hayes compatible modem without automatic speed buffering.  
  9128.                  Session 5 uses a null modem cable to connect to a terminal or another computer for outside features 
  9129.                  ("doors").  Sessions 6, 7 and 8 use the LAN as their modems.  Sessions 9 and 10 have no serial port 
  9130.                  hardware, but may be used for local console logon.  Session 10 is set up for local console sessions only.
  9131.               
  9132.                  The name of the pipe that Bulletron creates is 
  9133.               
  9134.                  
  9135.               
  9136.                  "\PIPE\BULLETRON\LOGON"
  9137.               
  9138.                  
  9139.               
  9140.                  If you run a communications program on one of your LAN workstations, such TE/2, which is 
  9141.                  LAN-aware, you can tell it to communicate via that pipe.  TE/2 is a shareware  program produced by 
  9142.                  Oberon Software of Mankato, Minnesota, which we make available on our tech support BBS.  When 
  9143.                  you set up TE/2, in the TE2.INI file, specify the communications device as follows:
  9144.               
  9145.                  
  9146.               
  9147.                  \\server\PIPE\BULLETRON\LOGON
  9148.               
  9149.                  
  9150.               
  9151.                  where "server" is the name of LAN file server on which Bulletron is running.  Remember to tell 
  9152.                  your users that, when they log off from the BBS using TE/2, they must exit from the program, and 
  9153.                  restart TE/2 to get it to open the pipe again.
  9154.               
  9155.                  The client/server version of Bulletron, described in the next section is not required for this 
  9156.                  feature.
  9157.               
  9158.                  5.5.2.  Distributing Processing over a LAN
  9159.               
  9160.                  The theoretical limit to the capacity of Bulletron for OS/2 is the number of serial ports that can be 
  9161.                  physically installed in a PC compatible system.  Six 16-port boards provide 96 serial ports, plus a 
  9162.                  COM1 and COM2 could be present on an IDE disk controller card.  That totals to 98 ports on seven 
  9163.  
  9164.               
  9165.  
  9166.  
  9167.  
  9168.  
  9169.  
  9170.                  adapter boards, leaving the one remaining slot in the bus for the video card.  If hardware were available 
  9171.                  with more than expansion slots in the bus, or more  than sixteen ports per card, there is no logical 
  9172.                  reason why the  phone line capacity could not be expanded indefinitely.  Physical limitations of the 
  9173.                  processing power of a single PC, however, may impose other restrictions.  It has been established, by 
  9174.                  actual operating installations of Bulletron for OS/2, that 98 phone lines can be supported by a single 66 
  9175.                  MHz 486 computer, with no observable performance degradation.  Based on measurements at these 
  9176.                  sites, it is estimated that the maximum number of phone lines that a single PC can support is about 512.  
  9177.               
  9178.                  The basic Bulletron program is designed with internal tables to support a maximum of 2,000 
  9179.                  phone lines per PC.  These might be a mixture of real serial ports, LAN connections, TELNET 
  9180.                  connections and sessions available for local console logon.  The technology used to extend Bulletron 
  9181.                  beyond 2,000 phone lines is distributed parallel processing.  Because Bulletron maintains its user and 
  9182.                  message bases as a normalized relational database in a balanced binary tree structure, and caches most 
  9183.                  of the b-tree in RAM, real disk accesses are few and far between, even on a heavily loaded system.  If 
  9184.                  we share the database across a LAN, then several CPUs can be working on the same set of user and 
  9185.                  message files at the same time.  The standard version of Bulletron, however, opens its files in a strictly 
  9186.                  non-sharing mode, which is necessary because of the fact that most of the data is cached in memory.  
  9187.               
  9188.                  To solve this problem, we have produced a special version of Bulletron which isolates the 
  9189.                  database engine from the rest of the  BBS serial communications functions.  The database engine can 
  9190.                  then be run on a central a file server on a LAN and satellite workstations can run multiple copies of the 
  9191.                  BBS, all making requests to the server for database  accesses and updates.  Each satellite system 
  9192.                  handles the processing load for the serial I/O and menu logic for 16, 32, or  possibly 48 users, and the 
  9193.                  server handles only the database accesses for the satellite systems.
  9194.               
  9195.                  Bulletron version 1 has the capability to run multiple copies of Bulletron on different 
  9196.                  workstations in a Local Area Network all accessing a common database of users and messages on the 
  9197.                  LAN server.  It was developed on IBM LAN Server Version 3.0 Enhanced, but should work on any 
  9198.                  LAN that supports the "named pipes" facility.  The advantages of running the LAN version are:
  9199.               
  9200.                       If you are running a 9 or 16 line version already and want to try running 32 or 64 lines, you can 
  9201.                    run multiple copies of Bulletron on separate workstations all accessing the same messages, 
  9202.                    users, and most features.  The speed of one  system will not slow the speed of another system.
  9203.               
  9204.                       If you do not have enough memory to bring up 32 lines on one system due to large device or 
  9205.                    network drivers, you can possibly run 24 lines on one system and 24 on another.
  9206.               
  9207.                       If you have hardware failure of one workstation, the other workstations will continue to 
  9208.                    function giving added protection for larger systems.
  9209.               
  9210.                       Maintenance utilities such as BBUTIL2, and BBUTLDB2 can be run while the BBS is still 
  9211.                    on-line and operational. If you buy the Bulletron Professional Developer's Kit, you can write 
  9212.                    your own applications that access the Bulletron database engine while the BBS is running.
  9213.               
  9214.                  The disadvantages of running the LAN version are:
  9215.               
  9216.                       At present, private chat is limited to those on the same workstation, but multiple workstations 
  9217.                    can be linked with network chat to allow large public chat sessions.  This also applies to the 
  9218.                    "WO" (Who is online), "/BRING", and other chat-associated functions.  They only apply to 
  9219.                    users on the same workstation.
  9220.               
  9221.                       Outside features are specific to the workstation on which they are running.  This means that 
  9222.                    someone on line 5, which is on workstation 1, is not able to dial out on line 24 if it is on 
  9223.                    workstation 2.  The user would have to be on workstation 2 to dial out on line 24. Most existing 
  9224.                    door programs are written to be strictly single-user, but if you find one that supports multiple 
  9225.                    concurrent users, there is no reason why you can not distribute that across your LAN also.
  9226.               
  9227.                       For these reasons although you can technically run four 9-line systems rather than purchasing 
  9228.                    one 32-line system, the features to the users would be better with one 32-line system.  Also the 
  9229.                    hardware expense of four computers to run each of 9 lines would be higher than buying one 
  9230.                    faster 32-line system.
  9231.               
  9232.                  LAN or no LAN, there are two Bulletron support utilities which  must always have strictly 
  9233.                  exclusive access to the BBS database.  These programs are COMPACT2 and REBUILD2.  These 
  9234.                  programs have  been specifically designed so that they cannot operate while the BBS or BBS server is 
  9235.                  running.
  9236.  
  9237.               
  9238.  
  9239.  
  9240.  
  9241.  
  9242.  
  9243.               
  9244.                  5.5.2.1.  Starting up the Client/Server Version
  9245.               
  9246.                  On your OS/2 based file server, run the program BBSRVR.  You start this program with two 
  9247.                  parameters.  The first parameter indicates the number of concurrent satellite systems that will be 
  9248.                  accessing the server.  Normally, this would be the number of computers running the BBS, plus one 
  9249.                  extra session for running BBUTIL2 or BBUTLDB2.  If you write custom applications that will also be 
  9250.                  accessing the server, you should account for these also.  The second parameter specifies the number of 
  9251.                  hours between backups.  The BBSRVR program automatically copies its data files, BB*.DAT, to 
  9252.                  backup files, BB*.BAK, at regular intervals.  You will usually set this to happen at 24 hour intervals, 
  9253.                  but you may want to make the interval shorter on a busy system.  The backup process typically takes 
  9254.                  about three to five seconds.  You can copy the "BB*.BAK" files to tape at any other time without 
  9255.                  stopping the BBS.  
  9256.               
  9257.                  For example, suppose you want to run five copies of the BBS, plus BBUTIL2, plus one custom 
  9258.                  application that you wrote yourself, and you want to back up the system every 24 hours.  At the OS/2 
  9259.                  command prompt, you would enter:  
  9260.               
  9261.                  
  9262.               
  9263.                  BBSRVR 7 24
  9264.               
  9265.                  
  9266.               
  9267.                  You could also enter:
  9268.               
  9269.                  
  9270.               
  9271.                  START BBSRVR   7   24
  9272.               
  9273.                  
  9274.               
  9275.                  to start BBSRVR as a detached process.
  9276.               
  9277.                  BBSRVR will start running, making seven instances of a pipe named "BBSRVR" available for 
  9278.                  connections with satellite BBS systems and other programs.  You must run BBSRVR in a directory that 
  9279.                  contains the BBSFILE9.DAT file.  Make sure that every file mentioned in BBSFILE9.DAT is in the 
  9280.                  directory indicated.  If there are no specific drives or paths mentioned in BBSFILE9.DAT, then these 
  9281.                  files must be in the same directory as BBSFILE9.DAT.
  9282.               
  9283.                  When you are running multiple copies of Bulletron, most likely the line setup ("PL" command), 
  9284.                  modem commands setup ("PM" command), and outside features setup ("PXO" command) will be 
  9285.                  different for each satellite system on your LAN.  Make sure that you select a phone line for outgoing 
  9286.                  network calls on only one  system, so that your BBS doesn't network out from multiple systems.  
  9287.                  Outside features lines may also be different.  Two special parameters for LAN use must be applied to 
  9288.                  the command line when starting each satellite system.  The parameter, "SRVRxxxxxxxx" specifies the 
  9289.                  network name of the computer that is running the BBSRVR program, and the parameter is "SYSy" 
  9290.                  where "y" is any letter "A", "B", "C", and so forth.  Actually, "y" may be the ASCII character for any 
  9291.                  code between 33 and 255, though many of these are difficult to enter from a keyboard.  For example, 
  9292.                  you could use:
  9293.               
  9294.                  
  9295.               
  9296.                  BBS2L ALL SRVRELIJAH SYSA
  9297.               
  9298.                  
  9299.               
  9300.                  to start satellite system "A", referencing a BBS database on a server named "ELIJAH".  For 
  9301.                  another, more elaborate example, suppose you have five servers named "ADAM", "EVE", "CAIN", 
  9302.                  "ABEL", and "SETH".  You want "ADAM" to serve two 99-user BBS programs, performing a backup 
  9303.                  every two hours and "EVE" to serve one BBS, performing a backup every 3 hours. On "ADAM" you 
  9304.                  execute:
  9305.               
  9306.                  
  9307.               
  9308.                  START BBSRVR 2 2
  9309.  
  9310.               
  9311.  
  9312.  
  9313.  
  9314.  
  9315.  
  9316.               
  9317.                  
  9318.               
  9319.                  and on "EVE" you execute:
  9320.               
  9321.                  
  9322.               
  9323.                  START BBSRVR 1 3
  9324.               
  9325.                  
  9326.               
  9327.                  Then on "CAIN", "ABEL" and "SETH", respectively, you could  execute:
  9328.               
  9329.                  
  9330.               
  9331.                  BBS2L ALL SRVREVE SYSA
  9332.               
  9333.                  BBS2L ALL SRVRADAM SYSA
  9334.               
  9335.                  BBS2L ALL SRVRADAM SYSB
  9336.               
  9337.                  
  9338.               
  9339.                  You could also run the BBS2L program on "ADAM" and "EVE" as well, if you choose.
  9340.               
  9341.                  The first time that you start each satellite system, you must to start it with the "NOMODEM" 
  9342.                  parameter because the "PL", "PM" and "PXO" setups for that system will not exist in the BBS 
  9343.                  parameters file (BBPARMS.DAT).  You will get a warning message about this on the first start-up of 
  9344.                  each satellite system, blank records will be  created in the BBS parameters file, and you should 
  9345.                  immediately log on to the satellite system as "SYSOP" and use the "PL", "PM" and "PXO" commands 
  9346.                  to set them up.  
  9347.               
  9348.                  Some of the BBS support utility programs also must be informed of the network name of the 
  9349.                  server that is running BBSRVR so that they can access the database.  These are BBUTIL2L and 
  9350.                  BBUTLDBL.  For these, specify the server name as a parameter on the start-up line, as in:
  9351.               
  9352.                  
  9353.               
  9354.                  BBUTIL2L SRVRELIJAH
  9355.               
  9356.                  
  9357.               
  9358.                  or
  9359.               
  9360.                  
  9361.               
  9362.                  BBUTDB2L SRVRELIJAH
  9363.               
  9364.                  
  9365.               
  9366.                  to access a BBSRVR program running on a server named "ELIJAH".  Other parameters that you 
  9367.                  might place on the command line for BBUTIL2 or BBUTLDB2 can be placed on the command line 
  9368.                  after the  server name parameter, as in:
  9369.               
  9370.                  
  9371.               
  9372.                  BBUTIL2L SRVRELIJAH H Q
  9373.               
  9374.                  
  9375.               
  9376.                  or
  9377.               
  9378.                  
  9379.               
  9380.                  BBUTLDBL SRVRELIJAH REBUILD
  9381.               
  9382.  
  9383.               
  9384.  
  9385.  
  9386.  
  9387.  
  9388.  
  9389.                  
  9390.               
  9391.                  5.5.2.2.  Stopping the Client/Server Version
  9392.               
  9393.                  Unlike the non-client/server version of Bulletron, crashing any of the satellite systems does not 
  9394.                  damage the BBS database in the  slightest.  The caching of data is done by the BBSRVR program, 
  9395.                  which only runs in the server.  It is generally polite to let all your users log off a particular satellite 
  9396.                  system before you shut it down, but the database is not affected if you just turn them off.  
  9397.               
  9398.                  The proper method, however, of stopping a LAN based Bulletron  is:
  9399.               
  9400.                      1.    Use the "G", "Q" or "E" command from the Control Window of each satellite system to stop 
  9401.                      the program and make all of its phone lines busy.
  9402.               
  9403.                      2.    Type CTRL/ESC on the server to bring up the OS/2 Window  List.
  9404.               
  9405.                      3.    Use your mouse or trackball to point to the line in the  Window List that says "BBSRVR", 
  9406.                      and press your LEFT mouse button twice to open its window.
  9407.               
  9408.                      4.    The detached session that is running BBSRVR will now have  keyboard focus, meaning that 
  9409.                      you can type commands to it.  Type "Q" for "quit".
  9410.               
  9411.                      5.    A few seconds later, BBSRVR will display messages in its window indicating that all server 
  9412.                      threads have stopped and that the database is closed.  If you do not get that "database closed" 
  9413.                      message, then you will probably have to run REBUILD later on to repair the damages 
  9414.                      resulting from the fact that BBSRVR's cache buffers were not saved to disk.
  9415.               
  9416.                      6.    Enter the "EXIT" command at the OS/2 command prompt to close the server's window.
  9417.               
  9418.                  5.5.2.3.  Running Client/Server without a LAN
  9419.               
  9420.                  With the "SRVRxxxxxxxx" parameter, you can use a special server name of "$LOCAL".  This 
  9421.                  means that the BBS2L program is running in the same computer as the BBSRVR program.  When you 
  9422.                  operate in this mode, no LAN needs to be installed at all.  This can be useful if you simply want to be 
  9423.                  able to run programs like BBUTIL2L and BBUTLDBL without shutting down the BBS.  This is your 
  9424.                  "hook" to writing your own programs that can read and write the BBS database.  Be warned, however, 
  9425.                  that during certain serial I/O intensive operations, such as file transfers, the BBS2L program  and the 
  9426.                  serial device drivers will often keep the CPU sufficiently occupied that external programs may run very 
  9427.                  slowly.  For this reason, it is best to configure the client/server version such that the BBS2L program 
  9428.                  has its own dedicated computer, and the BBSRVR program and other programs run in a different server 
  9429.                  on the LAN.
  9430.               
  9431.                    5.6.Wide Area Networking
  9432.               
  9433.                  5.6.1.  Bulletnet
  9434.               
  9435.                  The term "networking" in the context of bulletin board systems and in this manual refers to the 
  9436.                  "store and forward" of  messages.  This means that messages are placed on one system and at a later 
  9437.                  time that system dials another system (called a node) via telephone line, transmits and receives 
  9438.                  messages, then disconnects.  "Networking" in this context does NOT refer to Local Area Networks 
  9439.                  (LAN) in which two or more computers are permanently wired together with hardware adapters and 
  9440.                  using some special purpose software such as Netware, Lan Server, or some similar product.  At those 
  9441.                  places in this manual which do reference Local Area Networks, the term LAN and not NETWORK are 
  9442.                  used.  This section discusses how the networking features work and what information the system needs 
  9443.                  to function within the network.  
  9444.               
  9445.                  The SYSOP must establish two special sub-boards on the BBS to implement networking.  The 
  9446.                  first sub-board is the "network source".  This is the source of private messages transmitted to a remote 
  9447.                  node.  The access level of this sub-board should be low  enough to allow users to access it.  You may 
  9448.                  want to restrict access to that sub-board to subscribers only, though, because the  volume of message 
  9449.                  traffic generated there may directly affect your long distance telephone bill.  For a user to send a 
  9450.                  message to a node, he must enter the message on the "network source" sub-board. 
  9451.               
  9452.                  When a user enters a message, public or private, on the "network source" sub-board, the system 
  9453.                  prompts for a node ID.  A Bulletnet node ID is a five digit number.  For Bulletnet nodes, the node ID is 
  9454.                  always the serial number of the system.  For FIDOnet nodes, it is a set of four numbers:  a zone 
  9455.  
  9456.               
  9457.  
  9458.  
  9459.  
  9460.  
  9461.  
  9462.                  number, a net number, a node number and a point number.  The point number in a FIDOnet address 
  9463.                  applies only if the recipient is a single individual; i.e. a private message.  The zone number is 
  9464.                  sometimes omitted if the  recipient is in the same zone as the sender.  The net number may also be 
  9465.                  omitted if the recipient is in the same net as the sender.  The node number is always required in a 
  9466.                  FIDOnet address.  When a user on an Bulletron system responds to a private mail message that came in 
  9467.                  over the network, or uses the "F" post-read command to forward a new message to the originator of a 
  9468.                  public message, the node ID need not be specified.  Bulletron "knows" where the message came from, 
  9469.                  and automatically sends the response there.  It will also automatically put the response on the "network 
  9470.                  source" sub-board, even if the user reads the message on the "personal mail" sub-board or one of the 
  9471.                  public "echo" conference sub-boards.  
  9472.               
  9473.                  The second special sub-board that is required is the "network destination" sub-board.  If your 
  9474.                  system receives a message that it can not figure out how to place, it places the message on this 
  9475.                  sub-board.  Such messages might be private mail for accounts that have dropped off of your system, or 
  9476.                  messages for "echo" conferences that you do not wish to carry.  You should make the access level of 
  9477.                  the "network destination" sub-board should be high enough so that only the system operator can read 
  9478.                  this sub-board, as other systems in the network may choose to carry "echo" conferences that your users 
  9479.                  might find objectionable.  You can periodically review the messages on your "network destination" 
  9480.                  sub-board and or move them to other sub-boards in your system, or just delete them.  You can also set 
  9481.                  the automatic message purge for the "network destination" sub-board to just a few days so that these 
  9482.                  messages don't accumulate and waste disk space.  If there are certain "echo" conferences that you do 
  9483.                  not wish to carry, you can also arrange with the operators of systems with whom you network to not 
  9484.                  have them sent, thus saving long distance phone  expense.  
  9485.               
  9486.                  A Bulletron system can have at most one "network source" and one "network destination" 
  9487.                  sub-board.  The sub-board is defined as either "network source" or "network destination" by placing an 
  9488.                  "S" or a "D", respectively, into the matchmaker/order-entry indicator field of the board definition ("PB" 
  9489.                  command).  You can also set up  some sub-boards as "echo" conferences by placing an "E" in the 
  9490.                  matchmaker/order-entry indicator.  An "echo" conference is a public message sub-board, on which all 
  9491.                  messages that are new, each time a network call is placed, are transmitted to all other systems in the 
  9492.                  network.  If you set up "echo" conference sub-boards in your system, it is important to understand that 
  9493.                  comments can not be appended to messages on "echo" conference sub-boards in the same way as for 
  9494.                  other sub-boards.  When your network call is placed, a message on an "echo" conference sub-board will 
  9495.                  be sent to hundreds of other systems all over the world, where thousands of people will be reading it at 
  9496.                  the same time.  If a message is kept local to your own system, and only one person reads it at a time, 
  9497.                  then comments can be appended to it in an order that usually flows as a continuous train of thought.  
  9498.                  This can not be done when thousands or millions of people read the same message simultaneously.  
  9499.                  Thus, comments to messages on "echo" conference sub-boards become new messages.
  9500.               
  9501.                  To set up networking features on your system, you must begin by contacting another system 
  9502.                  operator, perhaps by mail, by voice phone, or visiting him in person if there is someone nearby.  The 
  9503.                  two of you decide which system is going to dial the calls (which implies paying the tolls if the calls are 
  9504.                  long distance), which is going to receive the calls, and the time of day at which the calls will be placed.  
  9505.                  A Bulletnet call typically takes about ten to fifteen minutes at 9600 Baud.  If your system is going to do 
  9506.                  the  dialing, you can set up the system to dial automatically in the  middle of the night when long 
  9507.                  distance phone rates are lowest. You can also set up your system to not dial automatically, and initiate 
  9508.                  every call manually from the Control Window, using the  "=" command.  When calls are placed 
  9509.                  automatically, they sometimes might not get through.  Perhaps all the phone lines on the other system 
  9510.                  might be busy, or a bad connection occurs in the phone  system.  When setting up automatic dialing, 
  9511.                  you specify a "window" of time, usually 1/2 hour, during which the call can be placed, a delay, in 
  9512.                  minutes, before retrying if the call fails, and a maximum number of retries.
  9513.               
  9514.                  Once you have spoken with another system operator, and decided who is going to dial the calls, 
  9515.                  and the time at which the  called should be dialed, the next step is for each system operator to go to the 
  9516.                  local console of his system and set up an account code and password that the other system can use to 
  9517.                  log on.  Special account codes are reserved for this purpose.  These  account codes have the form, 
  9518.                  "ORAnnnnn", where "nnnnn" is the  serial number of the system calling in.  As the system operator, 
  9519.                  you must log on at your local console as a new user, using the "ORAnnnnn" account code.  Bulletron 
  9520.                  does not allow these accounts to be set up remotely.  The password that you select for the "ORAnnnnn" 
  9521.                  account is arbitrary, as long as you be sure to tell the other system operator what it is.  The other system 
  9522.                  operator must set up a similar account with your system's serial number on his system, and tell you the 
  9523.                  password.
  9524.               
  9525.                  For example, assume Bulletron #23 wants to network to Bulletron #41.  The two SYSOPs get 
  9526.                  together and agree to network.  The SYSOP of Bulletron #23 logs onto his system locally, and enters 
  9527.                  "NEW" to create a new account.  For an account code, he uses "ORA41", and for a password he uses 
  9528.  
  9529.               
  9530.  
  9531.  
  9532.  
  9533.  
  9534.  
  9535.                  "ABCDEF".  The SYSOP at Bulletron #41 logs on to his system as a new user, and creates an account 
  9536.                  named "ORA23", with a password of "123456".  The use of a special account for network calls is 
  9537.                  important, not only for security reasons, but also because the SIGs and access levels on the networking 
  9538.                  account determine which "echo" conferences will be transmitted.  Bulletron #23 will only transmit 
  9539.                  messages on those "echo" conference sub-boards the "ORA41" account can access.  Likewise, 
  9540.                  Bulletron #41 will only transmit messages on those "echo" conference sub-boards that the "ORA23" 
  9541.                  account can access.  The last logon date and time of the networking account is used to determine which 
  9542.                  messages are new for each call.  Networking accounts are special, in that they have no time limit per 
  9543.                  session or per day, and are never purged by the system.  They are protected against break-in by hackers 
  9544.                  by special timing interactions that occur much too rapidly for a human typist to imitate.  Networking 
  9545.                  accounts are  used by the FIDOnet interface as well as the Bulletnet interface to determine the "echo" 
  9546.                  conferences to be transmitted, and which messages are new, but the account code used for a FIDOnet 
  9547.                  interaction can be arbitrary.  FIDOnet systems do not use an account code and password when logging 
  9548.                  on, but another mechanism is provided for associating the networking account with the remote  node.
  9549.               
  9550.                  Once you have created the networking account for a remote  node, and you have logged back on 
  9551.                  as the system operator to assign SIGs and access levels, you must also enter information about the  
  9552.                  remote node in your system's Network Node Table.
  9553.               
  9554.                  5.6.1.1.  Adding, Deleting and Changing Nodes
  9555.               
  9556.                  To alter the Network Node Table, enter an "L" at the Extended Features Menu or enter "PXL" at 
  9557.                  the main command prompt.  This lets you edit your Network Node Table.  When you execute the 
  9558.                  "PXL" command, you will be prompted with the  following line:  
  9559.               
  9560.                  
  9561.               
  9562.                  A-add, C-change, D-delete, L-list, Q-quit:
  9563.               
  9564.                  
  9565.               
  9566.                  If you enter "Q", you will simply return to the Extended Features Menu.  
  9567.               
  9568.                  If you enter "L", you get a list of the existing nodes.  The screen will pause after 20 lines and you 
  9569.                  can then press [ENTER] to display the next 20 lines.  The table will look something like  this:  
  9570.               
  9571.                  
  9572.               
  9573.                  A-add, C-change, D-delete, L-list, Q-quit: L
  9574.               
  9575.                  
  9576.               
  9577.                  Node No: 00006  Name: Resource-BBS                    Local Acct: ORA6
  9578.               
  9579.                  City/State/Country: Garden Grove, CA
  9580.               
  9581.                  BULLENET/FIDO: O   Protocol: 1
  9582.               
  9583.                  Manl Dial: Y   Phone No: /507                       Remote Pswd: /FORWARD
  9584.               
  9585.                  Baud Rate: 19200   Start Time: 0000   Stop Time: 0000   Days: NNNNNNN
  9586.               
  9587.                  
  9588.               
  9589.                  Node No: 00021  Name: InterLace                       Local Acct: ORA21   
  9590.               
  9591.                  City/State/Country: Falls Church, VA              
  9592.               
  9593.                  BULLENET/FIDO: O   Protocol: 1
  9594.               
  9595.                  Manl Dial: Y   Phone No: /507                       Remote Pswd: /FORWARD
  9596.               
  9597.                  Baud Rate: 19200   Start Time: 0000   Stop Time: 0000   Days: NNNNNNN
  9598.               
  9599.                  
  9600.               
  9601.  
  9602.               
  9603.  
  9604.  
  9605.  
  9606.  
  9607.  
  9608.                  Node No: 00031  Name: The S&M Board                   Local Acct: ORA31   
  9609.               
  9610.                  City/State/Country: Santa Monica, CA              
  9611.               
  9612.                  BULLENET/FIDO: O   Protocol: 1
  9613.               
  9614.                  Manl Dial: Y   Phone No: /507                       Remote Pswd: /FORWARD
  9615.               
  9616.                  Baud Rate: 19200   Start Time: 0000   Stop Time: 0000   Days: NNNNNNN
  9617.               
  9618.                  
  9619.               
  9620.                  Node No: 00068  Name: N.A.S.I.X.                      Local Acct: ORA68   
  9621.               
  9622.                  City/State/Country: Syracuse, New York            
  9623.               
  9624.                  BULLENET/FIDO: O   Protocol: Z
  9625.               
  9626.                  Manl Dial: Y   Phone No: 471-2970                 Remote Pswd: 68ORA
  9627.               
  9628.                  Baud Rate: 19200   Start Time: 0100   Stop Time: 0130   Days: YYYYYYY
  9629.               
  9630.                  
  9631.               
  9632.                  The first line of each listing contains the node number, the node name and the node's local 
  9633.                  account code.  For Bulletnet nodes, the node number is the serial number of the BBS2.EXE file for the 
  9634.                  remote system.  Every BBS2.EXE file that we produce is compiled individually, and "stamped" 
  9635.                  internally in thousands of places with its serial number in an encrypted format so that they can be 
  9636.                  identified in the event that a bootleg copy should ever get out.  For FIDOnet nodes, the node number is 
  9637.                  arbitrary, as long as it is  unique to the table.  The node number is the key value used for storing, 
  9638.                  retrieving and updating node records.  The node name is any arbitrary text up to 30 characters.  This is 
  9639.                  used to generate a menu of remote nodes that users can list with the "L" command.  The local account 
  9640.                  code of Bulletnet nodes must be "ORAnnnnn", where "nnnnn" is the serial number of the remote 
  9641.                  system; that is, the  same number as the node number.  Don't worry about getting this wrong, because 
  9642.                  the system sets this field automatically when you create or change an entry for an Bulletnet node.  For 
  9643.                  FIDOnet nodes, the local account code can be any account that you make up  on your system.  The 
  9644.                  system uses the SIGs and access levels of  that account to determine which "echo" conference 
  9645.                  sub-boards are  sent to that FIDOnet node.  It also uses the last logon date of that account to determine 
  9646.                  which messages are "new" and, therefore, must be sent.  Nobody ever actually logs on with these 
  9647.                  accounts for FIDO, because FIDO systems do not process account codes and passwords during logon, 
  9648.                  so just set some arbitrary password on your FIDO networking accounts that nobody knows, and give 
  9649.                  them appropriate subscriber access so that the system doesn't automatically purge them.  
  9650.               
  9651.                  The second line, containing the city/state/country information is used only for display to users 
  9652.                  with the "L" command.  This can be any ASCII text up to 30 characters.
  9653.               
  9654.                  The third line contains an "ORA/FIDO" flag, which will contain the letter "O" if the node is an 
  9655.                  Bulletnet node, or the letter "F" if it is a FIDOnet node.  If the node is an Bulletnet node, then this line 
  9656.                  will also contain a "Protocol" flag.  There  are three settings for the "Protocol" flag:
  9657.               
  9658.                      "O" (the letter)  means to use XMODEM-CRC with 128-byte blocks to transmit messages 
  9659.                      and files;              
  9660.               
  9661.                      "1" (the numeral)means to use XMODEM-1K with 1024-byte blocks to transmit messages 
  9662.                      longer than 2 Kbytes and files, but use XMODEM-CRC with 128-byte 
  9663.                      blocks for short messages;              
  9664.               
  9665.                      "Z" (the letter)  means use a modified form of ZMODEM to transmit messages and 
  9666.                      XMODEM-1K to transmit files.  This modified form of ZMODEM sends 
  9667.                      each message as one, variable length block, with a 32-bit CRC.              
  9668.               
  9669.                  If the node is a FIDOnet node, then it's FIDOnet address will appear on the third line.
  9670.               
  9671.                  The fourth line of each listing contains a "manual dial" flag, the node's phone number, and the 
  9672.                  password to use on the remote system.  The "manual dial" flag may be:
  9673.               
  9674.  
  9675.               
  9676.  
  9677.  
  9678.  
  9679.  
  9680.  
  9681.                     "N"Use automatic dialing.  Your system will dial the remote node during the specified 
  9682.                       time window, on the  specified days of the week, as long as there is private mail 
  9683.                       on your "network source" board for someone at that node.              
  9684.               
  9685.                     "Y"Use manual dialing.  Your system will never dial this node automatically, but will 
  9686.                       wait for you to manually initiate dialing, using the "=" command from the  
  9687.                       Control Window.              
  9688.               
  9689.                     "A"Always dial.  Your system will dial the remote node  during the specified time 
  9690.                       window, on the specified days of the week, even if there is no mail for anyone at  
  9691.                       that node.  You will use this feature if you want to make sure you exchange 
  9692.                       "echo" conferences every day, or are routing mail for other nodes through that 
  9693.                       node.              
  9694.               
  9695.                     "C"Always dial and chat.  This is the same as option "A", except that your system will 
  9696.                       enter network chat with the remote system when they finish exchanging mail and 
  9697.                       "echo" conferences.  This feature is not available with FIDOnet, so this option is 
  9698.                       the same as "A" for nodes that are not Bulletnet nodes.              
  9699.               
  9700.                  Note:  with options "N", "A" and "C", above, if you use the "=" command from the Control 
  9701.                  Window to manually place a network call, your system will not try to place an automatic call until the 
  9702.                  next day.
  9703.               
  9704.                  The "phone number" field shown on the fourth line of each listing is the phone number of the 
  9705.                  remote system.  If it is long distance, then be sure to include "1" and the area code, or "011" and the 
  9706.                  country code if it is overseas.  Do not include any modem commands such as "ATDT" or "ATDP".  The 
  9707.                  system will obtain the basic dialing command from the modem configuration record that you set up 
  9708.                  with the "PM" command.  You may, in some cases, put special characters, like comma, or "W" in the 
  9709.                  phone number string to create pauses while dialing.  The phone number field can also contain a slash 
  9710.                  ("/") character and a five digit node number. This signifies that the node will never be dialed directly, 
  9711.                  but all mail for it is routed through the node specified after the  slash.  For instance, if Bulletron #68 
  9712.                  calls Bulletron #976, and Bulletron #179 also calls Bulletron #976, then the operator at Bulletron #68 
  9713.                  can put "/976" as the phone number for Bulletron #179, and mail for Bulletron #179 will be sent to 
  9714.                  Bulletron #976, where Bulletron #179 can pick it up on their next call.  Bulletnet lets you reroute 
  9715.                  messages indefinitely.  Each system "knows" only where the next node in the route is.  Bulletron #152, 
  9716.                  for example, might have a message for someone at Bulletron #179, and at Bulletron #152, the phone 
  9717.                  number for Bulletron #179 is "/68".  Bulletron #152 sends the message to Bulletron #68.  At Bulletron 
  9718.                  #68, the phone number for Bulletron #179 is "/976", so it sends the message to Bulletron #976.  At 
  9719.                  Bulletron #976, the phone number for Bulletron #179 is "/482", so it sends the message to Bulletron 
  9720.                  #482.  Bulletron #179 calls Bulletron #482 every day, and picks up the message.  This is much faster, 
  9721.                  simpler, and more reliable than Internet or FIDOnet routing schemes, but it is not automatic.  If the 
  9722.                  routing changes at any time, as, say, when a system operator decides to not run his system any more, 
  9723.                  then a few voice phone calls must be made to set up a different route.
  9724.               
  9725.                  The "Remote Password" field on the is the password that your system will use when it calls the 
  9726.                  remote system.  If the node is an Bulletnet node, then this is the password for your network account on 
  9727.                  the remote system.  For FIDOnet nodes, this password is placed in the packets that are sent to that 
  9728.                  FIDO hub.  The password is entirely arbitrary if your system does not call the node directly.  
  9729.               
  9730.                  The fifth line of each listing shows the Baud rate that your system will use to dial the remote 
  9731.                  system, the start time of the dialing window, the stop time of the dialing window, and the days on 
  9732.                  which dialing is permitted.  The start time and stop time are  displayed as a four digit decimal number, 
  9733.                  hours times one hundred plus minutes.  The days of the week are displayed as seven letters, "Y" and 
  9734.                  "N", beginning with Sunday.  A "Y" means attempt to call on that day, and a "N" means do not attempt 
  9735.                  to call.  If your system just transfers messages, then it generally does not make sense to not call every 
  9736.                  day.  The same volume of messages, and, hence, the same number of minutes of long distance time, 
  9737.                  will be the same whether you send the messages every day, or let them pile up for a few days.  It might 
  9738.                  make a difference in your long distance bill if your dialing window is during daytime hours and you tell 
  9739.                  it to only dial on Saturdays.  If you have your system enter network chat with the remote system after 
  9740.                  exchanging messages, then you might want to restrict these calls to only two or three days a week.
  9741.               
  9742.                  When you get back to the prompt,
  9743.               
  9744.                  
  9745.               
  9746.                  A-add, C-change, D-delete, L-list, Q-quit:
  9747.  
  9748.               
  9749.  
  9750.  
  9751.  
  9752.  
  9753.  
  9754.               
  9755.                  
  9756.               
  9757.                  To delete a node, enter "D" and you will be prompted for the sequence number of the node you 
  9758.                  wish to delete.  Enter that sequence number and the record will be deleted.  The system will NOT delete 
  9759.                  the account record in the user file for that node, only the entry in the Network Node Table.
  9760.               
  9761.                  To add a node, enter "A". To change a node, enter "C". You will then be prompted with the 
  9762.                  following questions.  
  9763.               
  9764.                  
  9765.               
  9766.                  Remote network node ID:
  9767.               
  9768.                  
  9769.               
  9770.                  This is the node ID, or serial number, of the remote system.
  9771.               
  9772.                  
  9773.               
  9774.                  Node name:
  9775.               
  9776.                  
  9777.               
  9778.                  Node name is the name of the remote BBS.  This can be any string of 30 characters or less.  It is 
  9779.                  only used in generating a listing of network nodes that users can display with the "L" command.
  9780.               
  9781.                  
  9782.               
  9783.                  Node phone number:
  9784.               
  9785.                  
  9786.               
  9787.                  This is what will be sent to your modem to dial the number.  Do not include the initial "ATDT" 
  9788.                  or "ATDP"; the system will pull this information from the modem configuration record that you set up 
  9789.                  with the "PM" command.  If the node is a "forwarded" node, then enter the node ID of the node which 
  9790.                  messages will be forwarded through, preceded by a "/", for example, "/976".  
  9791.               
  9792.                  For some systems, it is advantageous to use a service like PC-Pursuit, Tymnet, or other 
  9793.                  networking facility to cut the high cost of phone charges.  Since the commands and phone numbers 
  9794.                  necessary for communicating are complicated, there is the facility to have the system operator intervene 
  9795.                  when the BBS does the dialing so that the system operator can enter the proper network codes.  The 
  9796.                  Node Phone Number should be a "#" or "@" sign which may be followed by the name of a message on 
  9797.                  your "utilities" sub-board.  If the "#" or "@" is found, without being followed by message name, then 
  9798.                  the console will be put into terminal mode so that the SYSOP can enter any commands necessary to 
  9799.                  connect with the remote system.  If the "#" or "@" is followed by a message name, then Bulletron goes 
  9800.                  to your "utilities" sub-board and finds the message and transmits that message, which contains the 
  9801.                  commands necessary to connect to the remote system.  Bulletron provides several escape sequences 
  9802.                  that can be used within this script message to dynamically modify the dialing process:  
  9803.               
  9804.                      $^$      is replaced by the account code that logged onto the system prior to the 
  9805.                      current user.              
  9806.               
  9807.                      ^x       is replaced by a control character that corresponds to letter "x".  For example, 
  9808.                      "^M" would produce a carriage return, "^J" would produce a line feed, and  
  9809.                      "^I" would produce a tab character.              
  9810.               
  9811.                      $+$      is replaced by the user's account code.              
  9812.               
  9813.                      $N$      is replaced by the user's name/handle.              
  9814.               
  9815.                      $L$      is replaced by the user's city and state .              
  9816.               
  9817.                      $A$      is replaced by "Y" if the current session has ANSI or RIP graphics, or "N" if 
  9818.                      not.              
  9819.               
  9820.  
  9821.               
  9822.  
  9823.  
  9824.  
  9825.  
  9826.  
  9827.                      $T$      is replaced by the number of minutes remaining in the user's current session.              
  9828.               
  9829.                      $$$      is replaced by an account code chosen at random.              
  9830.               
  9831.                      $O$      is replaced by the user's ordinal call number; that is, "1st", "2nd", etc..              
  9832.               
  9833.                      $B$      is replaced by the short name of your BBS, which you specify using option 
  9834.                      "N" of the "PP" command.              
  9835.               
  9836.                      $S$      is replaced by the descriptive name of the current sub-board.              
  9837.               
  9838.                      $P$      is replaced by the main system prompt (usually "What next?")              
  9839.               
  9840.                      $I$      is replaced by the task (line ) number of the  line on which the user is logged 
  9841.                      on.              
  9842.               
  9843.                      $TS$     is replaced by the minutes already used in the current session              
  9844.               
  9845.                      $TD$     is replaced by the minutes already used in the current day.              
  9846.               
  9847.                      $TL$     is replaced by the total minutes used in the user's lifetime.              
  9848.               
  9849.                      %        makes Bulletron pause for one second.              
  9850.               
  9851.                      ~        makes Bulletron pause for one half second.              
  9852.               
  9853.                  The difference between "#" and "@" is that "@" will not automatically logon -- it will not send 
  9854.                  the account and password to the remote network node.  The "#" causes the calling system to send the 
  9855.                  account and password and begin the network transmission. 
  9856.               
  9857.                  For example, assume that a system operator in Florida wants to network to a system in Los 
  9858.                  Angeles.  The SYSOP of the Florida BBS puts "@" as the phone number of the Los Angeles system.  
  9859.                  The Florida SYSOP then initiates manual network transmission with the "=" command.  The BBS goes 
  9860.                  through the normal manual networking procedure.  When it goes to dial the remote system's phone 
  9861.                  number, it recognizes the "@" and puts the SYSOP into terminal mode rather than dialing the number.  
  9862.                  The SYSOP, now in terminal mode, enters all the modem commands to cause the modem to dial the 
  9863.                  network account codes and passwords, etc..  When a connection has been established with the remote 
  9864.                  system, the SYSOP enters CTRL/K to  exit terminal mode and let Bulletron log on to the remote 
  9865.                  system and proceed with networking.  If the SYSOP had used "#nnnnnnnn" for the phone number, 
  9866.                  where "nnnnnnnn" is the "to" account of a message on the "utilities" sub-board, then the network 
  9867.                  commands and logon would be done automatically.
  9868.               
  9869.                  The logon account is verified and if an invalid character is received, the session is disconnected 
  9870.                  rather than retried.  In areas where noisy telephone lines are a problem, you may want to try networking 
  9871.                  with manual logon.  Manual networking is also a good way to test a new network account on a remote 
  9872.                  system.
  9873.               
  9874.                  
  9875.               
  9876.                  Password on remote system:
  9877.               
  9878.                  
  9879.               
  9880.                  This is the password that your system uses to log on to the  remote system, for an Bulletnet node, 
  9881.                  or the password to be placed in message packets for a FIDOnet node.
  9882.               
  9883.                  
  9884.               
  9885.                  Protocol:
  9886.               
  9887.                  
  9888.               
  9889.                  You have three choices here:  "O", "1" and "Z".  The "O" (that is the letter "OH", not zero) 
  9890.                  protocol is based on XMODEM-CRC, with 128-byte blocks and 16-bit CRCs.  This is the most reliable 
  9891.                  method of communication, but also the slowest.  The "1" protocol is based XMODEM-1K, which uses 
  9892.                  1,024-byte blocks and 16-bit CRCs.  This protocol is more susceptible to errors than the "O" protocol, 
  9893.  
  9894.               
  9895.  
  9896.  
  9897.  
  9898.  
  9899.  
  9900.                  but usually gets the job done in 1/2 to 1/4 the time, depending on the average length of your messages.  
  9901.                  The "Z" protocol is based on ZMODEM-32, but uses variable packet sizes up to 9 Kbytes and 32-bit 
  9902.                  CRCs.  This is the fastest of all, but also the least forgiving.  The "Z" protocol is only recommended for 
  9903.                  use with modems that support V.32bis with V.42bis error correction.  Bear in mind, when selecting a 
  9904.                  protocol, that all Bulletnet protocols utilize CRC error detection to prevent corruption of message text.  
  9905.                  A noisy phone connection will cause the call to be aborted and retried, but will not result in "garbage" 
  9906.                  data appearing in the messages.  No matter which protocol is selected, when a call has to be retried, 
  9907.                  messages already received successfully will not be duplicated at the receiving end.  If your system 
  9908.                  tends to be fairly busy with callers when your network calls occur, data may be lost because the system 
  9909.                  can not respond to incoming data fast enough.  You can solve this problem by selecting lower Baud 
  9910.                  rate, a less busy time, or a slower protocol.  Keep in mind, also, that the "Z" protocol was not available 
  9911.                  on Oracomm systems prior to version 8.4, so your choices will be limited to "O" or "1" if you network 
  9912.                  with an older system.  
  9913.               
  9914.                  
  9915.               
  9916.                  Manual Dial Only:
  9917.               
  9918.                  
  9919.               
  9920.                  This determines whether the system automatically dials the remote system each day, or whether it 
  9921.                  dials only when you manually tell it to dial.  If you want it to dial only when you manually tell it to 
  9922.                  dial, enter "Y".  Otherwise, enter "N".  This is most useful to prevent long distance dialing except when 
  9923.                  many messages are waiting to be sent.  If this is set to "Y", then the system operator must use the "=" 
  9924.                  command to initiate network dialing.  If  you do not want to network every day, but rather only once a 
  9925.                  week or on specific days, enter "Y" on this prompt.  Then set the start time, stop time (even just 1 
  9926.                  minute later), and days to network in the prompts below.
  9927.               
  9928.                  The Manual Dial Only indicator can also be "A" for "Always Network".  This means it will 
  9929.                  always attempt to network, even if  there is no mail waiting to be sent on your system, on the days and 
  9930.                  times indicated for calling.  The purpose of this is to pick up any messages on the other system if the 
  9931.                  other system is set to manual only and is not calling your system.  It will NOT drop into network chat.  
  9932.                  To force networking on specific days AND go into network chat, enter "C" for Manual Only.
  9933.               
  9934.                  
  9935.               
  9936.                  Baud rate:
  9937.               
  9938.                  
  9939.               
  9940.                  Enter either 300, 1200, 2400, 9600, 19,200 or 38,400 depending on what speed you want to dial 
  9941.                  the remote system.  Be sure the remote system has the capability to accept calls at that speed.  
  9942.               
  9943.                  
  9944.               
  9945.                  Network Start time:
  9946.               
  9947.                  
  9948.               
  9949.                  This is the time, 0 to 2359, when the system is to attempt calling to that node.  If the time is 0, 
  9950.                  then your system will not call.  Do not place a colon between the hours and minutes.
  9951.               
  9952.                  
  9953.               
  9954.                  Network Stop time:
  9955.               
  9956.                  
  9957.               
  9958.                  This is the time, 0 to 2359, when calling is to terminate.  If your system connects to the other 
  9959.                  system, it will remain in public chat and disconnect at this time.  If this time is 0, then your system will 
  9960.                  NOT network chat.  Do not place a colon between the hours and the minutes.
  9961.               
  9962.                  
  9963.               
  9964.                  Enter Y to call on a day, or N to not call.
  9965.               
  9966.  
  9967.               
  9968.  
  9969.  
  9970.  
  9971.  
  9972.  
  9973.                  Starting on Sunday and ending on Saturday.
  9974.               
  9975.                  To call on Saturday and Sunday only, enter YNNNNNY
  9976.               
  9977.                  Enter 7 Y's or N's for the days of the week [YNYNYNY]:
  9978.               
  9979.                  
  9980.               
  9981.                  This indicates which days of the week on which your system will call that node.  Note that there 
  9982.                  can only be 12 nodes with which you can call per day.  You may call different nodes on different days, 
  9983.                  but only 12 nodes on any particular day.
  9984.               
  9985.                  5.6.1.2.  Setting Retry Count and Time Between Retries
  9986.               
  9987.                  On the Extended Parameters Menu ("PXP" command), function "H" lets you set the number of 
  9988.                  minutes between retries for network calls, and function "I" lets you set the maximum number of  retries.  
  9989.                  Bulletron will not attempt to dial out when there is a  user call in progress on the line that you have 
  9990.                  designated for networking ("PL" command).  Each time that a call completes, whether inside a 
  9991.                  networking window or not, Bulletron waits 30 seconds for another call to come in before considering 
  9992.                  whether or not to dial.  If, at the end of that 30 seconds, the time of day is within the networking 
  9993.                  window for some dial, the system attempts to dial out.  If the call fails, it will wait for the number of 
  9994.                  minutes specified by function "H" of the Extended Parameters Menu, then attempt to dial again.  This 
  9995.                  repeats for the number of times specified by function "I" of the Extended Parameters Menu, or until the 
  9996.                  dialing window closes, which ever comes first.
  9997.               
  9998.                  Situations can occur which can prevent calling or networking.  Obviously, if a user calls in on 
  9999.                  your networking line  before the start of the dialing window, and stays on until after the window is 
  10000.                  closed, the system will not be able to dial that day.  Similarly, if you let your networking line be used to 
  10001.                  dial outside features, and a user on another line ties up the networking line through the entire window, 
  10002.                  then the system will not be able to dial out.  If your system is so busy during the  networking window 
  10003.                  that, each time a user call finishes, another call comes in before 30 seconds elapses, then the system will 
  10004.                  not be able to dial out.  If a call finishes 31 seconds before the  start of a dialing window, then the 
  10005.                  system will not try to dial until the time between retries elapses.  For these reasons, it is best to keep the 
  10006.                  time between retries fairly short.  In practice, we have found that a window of 30 minutes, with 4 
  10007.                  minutes between retries and 7 retries maximum works best.
  10008.               
  10009.                  5.6.1.3.  Sample Network Installation
  10010.               
  10011.                  This is an example of all that you would do to set up Bulletron #68 as a node to your own 
  10012.                  network.  To add additional nodes, simply repeat steps 3, 4 and 5 for each node that you wish to add.
  10013.               
  10014.                      1.    In the board setup menu ("PB" command), set up two new boards as follows:
  10015.               
  10016.                  Abbreviation              SRC                        DST
  10017.               
  10018.                  Name                         Network source     Network Destination
  10019.               
  10020.                  SIG                             N                               N
  10021.               
  10022.                  Special Features     S                                D
  10023.               
  10024.                  PRSL                         N                               N
  10025.               
  10026.                  R/O                             N                               N
  10027.               
  10028.                  ANON                        N                               N
  10029.               
  10030.                  SMRY                        N                               L
  10031.               
  10032.                  A/L                             100                          1000
  10033.               
  10034.                  PRG                          30                             30
  10035.               
  10036.                  
  10037.               
  10038.                      2.    In the Extended Parameters menu ("PXP" command), set item "H" to 4 minutes between 
  10039.  
  10040.               
  10041.  
  10042.  
  10043.  
  10044.  
  10045.  
  10046.                      retries and set item "I" to 7 retries maximum
  10047.               
  10048.                      3.    In the network setup menu, set up Bulletron #68.
  10049.               
  10050.                  
  10051.               
  10052.                  Node ID                      68
  10053.               
  10054.                  Node Name              N.A.S.I.X.
  10055.               
  10056.                  Node City/State       Syracuse, NY
  10057.               
  10058.                  Phone                       13154712970
  10059.               
  10060.                  Password                   nORA (where n is your own node ID)
  10061.               
  10062.                  Protocol                      Z (for modified ZMODEM)
  10063.               
  10064.                  Manual                       A
  10065.               
  10066.                  Baud Rate                38400
  10067.               
  10068.                  Start Time                 130
  10069.               
  10070.                  Stop Time                 200
  10071.               
  10072.                  Days                           YYYYYYY
  10073.               
  10074.                  
  10075.               
  10076.                  Log on to your system locally, enter NEW, and set up a new account with account code 
  10077.                  "ORA68", password "68ARO".
  10078.               
  10079.                  Place a modem call to N.A.S.I.X., at the phone number shown above, and leave a message for the 
  10080.                  system operator requesting a networking account for your node.  The system operator will respond in a 
  10081.                  few days, giving you a different time for your dialing window, as not everyone can call in at the same  
  10082.                  time.
  10083.               
  10084.                  5.6.1.4.  Echo Conferences
  10085.               
  10086.                  A Network Echo Conference (AKA Echo Boards) is a slight variation of the general network.  
  10087.                  There can be only one "network source" sub-board and one "network destination" sub-board.  When a 
  10088.                  user enters a message on your "network source" sub-board he is prompted for a specific node that his 
  10089.                  message is sent to.
  10090.               
  10091.                  Messages posted on echo conference sub-boards, however, are  sent to ALL nodes in the 
  10092.                  network.  There can be many network echo conference boards.  Each one is defined with an "E" 
  10093.                  (instead of S or D) in the Special Features field of the sub-board setup ("PB" command).
  10094.               
  10095.                  Each networking account on your system, "ORAnnnnn" where  "nnnnn" is the node number, has 
  10096.                  an associated feature access level and SIG list.  This access level and SIG list determine which 
  10097.                  sub-boards that node can access on your system.  After a node has called in and transmitted any 
  10098.                  messages it may have from it's own "network source" sub-board and your system has transmitted any 
  10099.                  messages it may have from it's own "network source" sub-board, Bulletron goes through the list of all 
  10100.                  sub-boards looking for type  "E" (echo conference) sub-boards.  If it finds one, it then checks the SIG 
  10101.                  list of the calling node.  For a node to have access to an "echo conference" sub-board, the sub-board 
  10102.                  abbreviation must be in the calling node's SIG list, even if the sub-board is not a SIG to other users.  If 
  10103.                  the calling node can access that sub-board, your system does an effective "RL" on that sub-board and 
  10104.                  sends any new  messages or comments to the calling node.  As the calling node  reads those messages, 
  10105.                  it checks to see if it has a sub-board defined with type "E" and having the same sub-board abbreviation.  
  10106.                  If so, it puts the received message on that sub-board.  If not, it puts the message on its "network 
  10107.                  destination" sub-board for the  SYSOP to forward or delete.
  10108.               
  10109.                  Comments added by users on a "echo conference" sub-board always become new messages rather 
  10110.                  than being added on the end of the original message.  This is because the comment only, not the 
  10111.                  original message or prior comments, are transmitted to any and all nodes accessing that sub-board.  It is 
  10112.  
  10113.               
  10114.  
  10115.  
  10116.  
  10117.  
  10118.  
  10119.                  not possible to append comments to messages on echo conferences like messages on other Bulletron 
  10120.                  sub-boards.  The reason for this is that the same message is being updated simultaneously by users on 
  10121.                  hundreds of nodes around the world every day.  If people in St. Louis, Minneapolis, Detroit and Los 
  10122.                  Angeles all add comments on the same message, and then the message is merged back together with the 
  10123.                  comments in chronological order, then the comments won't make any sense.  For the comments to 
  10124.                  make sense, the message can only exist on one node at any given time.  In spite of this handicap, echo 
  10125.                  conferences, like FIDOnet, make an excellent medium for distribution of commercial advertising and 
  10126.                  news releases.
  10127.               
  10128.                  5.6.1.5.  Network Chat
  10129.               
  10130.                  You, as the system operator can force Bulletron to dial another system to send messages that are 
  10131.                  on your "network source" sub-board at any time using the "=" command from the Control Window.  
  10132.                  After its messages are sent, your system receives any messages waiting for it at the remote system.  
  10133.                  When this operation is manually initiated by the SYSOP (not at automatically at night), you can enter 
  10134.                  the negative of the node number if you DON'T want to start a network chat after exchanging messages.  
  10135.                  The default, by entering the node number as a positive value, is to start a network chat.  
  10136.               
  10137.                  If you let the systems network chat, then after exchanging messages, both the calling and the 
  10138.                  called systems go into public chat.  If another user also goes into public chat, then any  messages 
  10139.                  entered by that user are transmitted to other users in public chat at both systems.  This allows users on 
  10140.                  multiple systems to communicate in public chat.  If a user does a "/WO" command while the two 
  10141.                  systems are in network chat, then he will see a message indicating that the systems are linked.  "#WO" 
  10142.                  (not "/WO") will list who is online on the remote system.  A single Bulletron system can be called by 
  10143.                  more than one remote system at the same time, so there can be multiple systems in network chat 
  10144.                  simultaneously.  Once network chat is established, it must be terminated by either the calling or the 
  10145.                  called SYSOP, or it self-terminates if initiated automatically.  Network chat terminates due to inactivity 
  10146.                  if you set the time limit for inactivity in the "PP" command.  
  10147.               
  10148.                  With Bulletron, two or more nodes (up to 2,000 nodes for 3,998,000 users) can be connected in 
  10149.                  permanent network chat.  This is useful if you are running two systems, each with different subject 
  10150.                  matter, but want the users on either system to be able to chat with users on the other system at any time.  
  10151.                  Set the "PL" command for the line to be permanently connected to modem type "D" (direct connect) 
  10152.                  and the network call to "C" (Continuous).  The  Baud rate is normally 9600.  Connect the two systems 
  10153.                  with a null modem cable, as defined by section 5.1.6 of this manual.  If it is necessary to terminate this 
  10154.                  network chat, use the "X" command on the Control Window to shut down that line.  
  10155.               
  10156.                  5.6.1.6.  Sending Files over the Network
  10157.               
  10158.                  Sometimes it may be necessary to transmit information from one network node to another where 
  10159.                  the information is larger than will fit in a message.  A file, such as a program or a game might need to 
  10160.                  be sent.  An example would be if you wanted to transmit the new User Manual.  To do this you must 
  10161.                  transmit a combined message which causes both the file to be transferred, and also serves to tell the 
  10162.                  SYSOP on the destination system that a file has been transmitted and to look for it on hard disk in the 
  10163.                  upload directory.  
  10164.               
  10165.                  For Bulletron, a message that has a file attached must be from account "SYSOP" and to account 
  10166.                  "SYSOP" on the destination system.  The first line of the message must begin with "@" followed 
  10167.                  immediately (with no space in between) by the file name and extension as it exists on the source 
  10168.                  system.  From the second line onwards would be the message to the destination SYSOP.  The  message 
  10169.                  entered on source system may look something like this:
  10170.               
  10171.                  
  10172.               
  10173.                  MSG#  1460  09/11/86 09:30
  10174.               
  10175.                  FROM: SYSOP    SYSTEM OPERATOR
  10176.               
  10177.                  TO:   SYSOP    SYSTEM OPERATOR
  10178.               
  10179.                  FROM NODE: ORA10   TO NODE: ORA15
  10180.               
  10181.                  SMRY: NEW USER MANUAL
  10182.               
  10183.                  @USERMANL.DOC
  10184.               
  10185.  
  10186.               
  10187.  
  10188.  
  10189.  
  10190.  
  10191.  
  10192.                  Hi Tom, here is a copy of the user manual that you wanted.
  10193.               
  10194.                  
  10195.               
  10196.                  NOTE:  THE FILES YOU ARE TRANSMITTING MUST BE LOCATED IN THE 
  10197.                  DIRECTORY DEFINED AS THE "DOWNLOAD DIRECTORY" OF YOUR "NETWORK 
  10198.                  SOURCE" BOARD.  AN INCOMING FILE WILL BE RECEIVED IN THE DIRECTORY NAMED 
  10199.                  IN THE "UPLOAD DIRECTORY" OF YOUR "NETWORK SOURCE" BOARD.
  10200.               
  10201.                  5.6.2.  FIDOnet
  10202.               
  10203.                  5.6.2.1.  FIDO User Names
  10204.               
  10205.                  There is a critical difference between the way that Bulletron identifies user accounts vs. the way 
  10206.                  that many FIDO systems do. Many FIDO BBS's identify a user by first and last name.  In Bulletron, 
  10207.                  this information is optional, and may be changed arbitrarily by the user.  Many Bulletron systems do 
  10208.                  not even carry the user's name in his account information, but, instead, use handles for the sake of 
  10209.                  anonymity.
  10210.               
  10211.                  Because the recipient's name may be required by a remote FIDO system, instead of an account 
  10212.                  code, Bulletron prompts the user for  the name of the recipient when originating a private mail message 
  10213.                  for FIDOnet.  When the message is sent, the system ignores the  "to" account for the message and sends 
  10214.                  it to the specified name.  
  10215.               
  10216.                  When a user originates a message for FIDOnet, and the system prompts him for 
  10217.               
  10218.                  
  10219.               
  10220.                  To:
  10221.               
  10222.                  
  10223.               
  10224.                  he should enter "FIDO" so that the system knows to handle the message in a special way.  For 
  10225.                  example, if a user wants to send a message to "Gary O. Young" at FIDO address 5:10/15.20, he should 
  10226.                  enter
  10227.               
  10228.                  
  10229.               
  10230.                  E FIDO
  10231.               
  10232.                  
  10233.               
  10234.                  and the system will prompt him for a FIDO destination and "to" name.  The FIDO destination can 
  10235.                  be entered as a single decimal number, for FIDO nodes in the same zone and network as your  system, 
  10236.                  as net/node for FIDO addresses in your zone, but outside your network, or as zone:net/node for 
  10237.                  destinations in other zones.  Bulletron uses the information in your Network Node Table ("PXL" 
  10238.                  command) to determine routing.  If, at the time of a network call, Bulletron determines that any given 
  10239.                  message can be routed via the  node being called, then it will send that message.  If the user enters a 
  10240.                  message to a FIDO destination for which you have no route, then that message will remain on your 
  10241.                  Network Source  sub-board forever, or until the date you set for auto-purge for your Network Source 
  10242.                  sub-board.
  10243.               
  10244.                  The "from" name placed in outgoing FIDO messages is formed from the local user's account code 
  10245.                  and handle, separated by a single space character.  This conveys the account code information to the 
  10246.                  remote FIDO system, so that a reply with the exact same name will go to the right Bulletron account 
  10247.                  code.  Users at remote  FIDO nodes should be told to place the eight character Bulletron account code 
  10248.                  of the recipient at the beginning of the destination name for their mail.  Because Bulletron users are 
  10249.                  always permitted to change their name or handle arbitrarily, incoming mail can not be routed to the 
  10250.                  right account unless it has the account code at the beginning of the destination name.  Optionally, the 
  10251.                  name or handle, may also be placed in the destination name, after the  account code, with a space 
  10252.                  character in between.
  10253.               
  10254.                  The importance of the user name, or handle, for FIDO messages necessitates a slight change to 
  10255.                  the display format of "S" (Summary) commands.  When the system detects a FIDO address as the 
  10256.                  source or destination for a networked message, wherever it appears, whether it be on your Network 
  10257.                  Source sub-board, your Personal Mail sub-board, your Network Destination sub-board, or any echo 
  10258.  
  10259.               
  10260.  
  10261.  
  10262.  
  10263.  
  10264.  
  10265.                  board, it uses two additional lines on the screen to display the "to" and "from" information.  This allows 
  10266.                  room to display the account code, the full name or handle, and the full FIDO address.  The "to" account 
  10267.                  code will always be "FIDO" for  outbound messages, and the "from" account code will always be 
  10268.                  "FIDO" for inbound messages.  The "from" account code for outbound messages will always be the 
  10269.                  account code of the person that originated the message on your system.  The "to" account code for 
  10270.                  inbound messages will be the first word found in the message  header, converted to all upper case, up to 
  10271.                  8 characters, as described above.
  10272.               
  10273.                  5.6.2.2.  Setting up Your FIDO Address
  10274.               
  10275.                  From the main system prompt ("What next?"), enter "PX" to invoke the Extended Features menu, 
  10276.                  then enter "P" for Extended Parameters, or just enter "PXP" at the main system prompt to save time.  
  10277.                  Function "U" allows you to enter the FIDOnet address of  your system.  You obtain this address by 
  10278.                  contacting your local FIDOnet coordinator.  You will have to hunt around on other BBS's in your local 
  10279.                  area to find out who he is.  When you execute function "U", the system will prompt you for four 
  10280.                  numbers:
  10281.               
  10282.                  
  10283.               
  10284.                  Zone:
  10285.               
  10286.                  Net:
  10287.               
  10288.                  Node:
  10289.               
  10290.                  Point:
  10291.               
  10292.                  
  10293.               
  10294.                  Most systems need only specify the zone, net and node.  Many FIDO systems consider the point 
  10295.                  information to be optional, and do not support it.  You should enter a zero for your point number if it 
  10296.                  does not apply.
  10297.               
  10298.                  Function "V" of the Extended Parameters menu allows you to enter a FIDO password for your 
  10299.                  system.  If you leave this blank, or enter spaces, then no password checking will be done on incoming 
  10300.                  packets.  If you put a non-blank value in this field, then your system will ignore any incoming message 
  10301.                  packets that do not match the password that you specify.
  10302.               
  10303.                  5.6.2.3.  Designating FIDO Echo Conferences
  10304.               
  10305.                  Bulletron uses a three character code to identify its sub-boards.  FIDO systems do not have 
  10306.                  sub-boards, but their closest equivalent is "message areas".  Message areas are  identified by their title, 
  10307.                  which may be any string of, up to, 64 characters.  These titles are called "conference names".  You can 
  10308.                  establish a correlation between Bulletron sub-boards and FIDO conference names by using the "PXF" 
  10309.                  command.  
  10310.               
  10311.                  From the main system prompt ("What next?"), enter "PX" to invoke the Extended Features menu, 
  10312.                  then enter "F" for Conference Names, or just enter "PXF" at the main system prompt to save time.  The 
  10313.                  system will prompt you with
  10314.               
  10315.                  
  10316.               
  10317.                  A-add, C-change, D-delete, L-list, or Q-quit:
  10318.               
  10319.                  
  10320.               
  10321.                  To create a new correlation, enter "A", for "add".  The  system will then ask you for a three 
  10322.                  character sub-board abbreviation and a 64 character conference name.  You can create  as many as you 
  10323.                  want; there is no limit.  For any particular  sub-board, there can only be one conference name.  The 
  10324.                  system will use this information to convert the sub-board abbreviations for your echo boards to FIDO 
  10325.                  conference names when exporting messages.  Likewise, you should only assign a particular FIDO 
  10326.                  conference name  to one sub-board.  The system will search the conference names that you have 
  10327.                  defined and place a message on the sub-board  identified if a match occurs.  Incoming messages that do 
  10328.                  not have  conference names ("AREA:"  lines), and those that do not match anything you have set up, 
  10329.                  are placed on your "network destination" sub-board.  Messages marked "private" by the originator, or 
  10330.                  not addressed to "ALL" are marked as "private" when received by Bulletron.  "Private" messages are 
  10331.  
  10332.               
  10333.  
  10334.  
  10335.  
  10336.  
  10337.  
  10338.                  placed on your Personal Mail sub-board if the destination node is your system, or on your  Network 
  10339.                  Source sub-board, for forwarding during another network call, if the destination node is not your 
  10340.                  system.  Users can respond to FIDO messages on your "personal mail" sub-board like  any other private 
  10341.                  mail, and the system automatically swaps the  "to" and "from" information and places the message, 
  10342.                  with comment added, back on your Network Source sub-board for export.
  10343.               
  10344.                  You can change the conference name string for any sub-board abbreviation by entering "C" at the 
  10345.                  above prompt, delete the conference name for any sub-board by entering "D", or list them by entering 
  10346.                  "L".
  10347.               
  10348.                  5.6.2.4.  FIDO Networking Account(s)
  10349.               
  10350.                  Bulletnet nodes must have an active account, with subscriber privileges, on your system before 
  10351.                  they can log on for networking.  FIDO systems do not use account codes and passwords when logging 
  10352.                  on, but you still must make an account for each FIDO node that you wish to call out to.  The account 
  10353.                  record for this account keeps track of the last logon time and date for selecting messages to be sent from 
  10354.                  your echo boards.  It also allows you to restrict access to certain echo boards for different FIDO 
  10355.                  systems that you call.  As with Bulletnet, you must place the sub-board abbreviations of  all echo 
  10356.                  boards that you want that FIDO system to have in its account's SIG list.  See the section above, entitled 
  10357.                  "Echo Conferences" for details.
  10358.               
  10359.                  5.6.2.5.  Network Node Table Setup (Dialing and Routing)
  10360.               
  10361.                  You must use the "PXL" command to set up node records for FIDO systems in your Network 
  10362.                  Node Table, as you would for Bulletnet Nodes. This gives the system the information that it needs to 
  10363.                  automatically dial outgoing calls to your FIDOnet host(s), and tells the system how to route mail for 
  10364.                  systems that it does not dial.
  10365.               
  10366.                  From the main system prompt ("What next?"), enter "PX" to invoke the Extended Features menu, 
  10367.                  then enter "L" for the Network Node Table, or just enter "PXL" at the main system prompt to save time.  
  10368.                  The system will prompt you with
  10369.               
  10370.                  
  10371.               
  10372.                  A-add, C-change, D-delete, L-list, or Q-quit:
  10373.               
  10374.                  
  10375.               
  10376.                  When you add, change or delete a node, the system first prompts you for the node number.  For 
  10377.                  Bulletnet nodes, this node number must be the serial number of the remote system, but for  FIDOnet, it 
  10378.                  can be any number between 1 and 99999 that you are  not using for some other node.  This is the key 
  10379.                  value by which the node record is identified.  You use this node number for manually dialing the node, 
  10380.                  using the "=" command, from the Control Window.
  10381.               
  10382.                  After you enter the node number, Bulletron prompts you for the node type, with:
  10383.               
  10384.                  
  10385.               
  10386.                  Node Type (O or F):
  10387.               
  10388.                  
  10389.               
  10390.                  Enter "F" for FIDOnet.
  10391.               
  10392.                  The dialog proceeds the same as for setting up an Bulletnet node (see "Adding, Deleting and 
  10393.                  Changing Nodes", above), until you come to the prompt, 
  10394.               
  10395.                  
  10396.               
  10397.                  Account Code on Local System []:
  10398.               
  10399.                  
  10400.               
  10401.                  This is where you specify the account that you set up to keep track of the last logon date and SIGs 
  10402.                  for the FIDO node.  For Bulletnet systems, the account code on your local system is always 
  10403.                  "ORAnnnnn", where "nnnnn" is the remote system's serial number, and the system does not prompt you 
  10404.  
  10405.               
  10406.  
  10407.  
  10408.  
  10409.  
  10410.  
  10411.                  for it.  For FIDOnet nodes, the account code can be anything you like, as long as the account exists.
  10412.               
  10413.                  The next piece of information that the system prompts for is the
  10414.               
  10415.                  
  10416.               
  10417.                  Password on Remote System []:
  10418.               
  10419.                  
  10420.               
  10421.                  FIDO systems do not require a password for logging on when using FTS-0001 protocol, but this 
  10422.                  password will be placed in your outgoing mail packets.  Other FIDO systems may reject your mail 
  10423.                  packets if you do not use the password they want to see, just as your system can be set to reject 
  10424.                  incoming mail packets, using function "V" of the "PXP" command.  If your system dials the remote 
  10425.                  system, and connects using Yahoo (FTS-0006) then this password will be presented to the remote 
  10426.                  system during the logon process.
  10427.               
  10428.                  After the remote password, Bulletron prompts you for the FIDOnet address of the remote system.  
  10429.                  It asks you for
  10430.               
  10431.                  
  10432.               
  10433.                  Zone:
  10434.               
  10435.                  Net:
  10436.               
  10437.                  Node:
  10438.               
  10439.                  Point:
  10440.               
  10441.                  
  10442.               
  10443.                  Usually, you can leave "zone" blank, or just enter a zero.  This makes Bulletron use the zone 
  10444.                  number of this node the same as the zone number of your system.  The same is true for the net number. 
  10445.                  You MUST enter the node number.  A basic concept of FIDOnet is  that there can not be more than one 
  10446.                  system with the same node  number in the same zone and net.  The point number is considered optional 
  10447.                  by many FIDO systems and you will usually enter zero for this value.
  10448.               
  10449.                  From this point, on, the rest of the node record setup for a FIDOnet node is the same as that for an 
  10450.                  Bulletnet node.  The network start time and network stop time define the mail window for the FIDO 
  10451.                  node, and FIDOnet calls use the same mechanism as Bulletnet calls for scheduling and dialing.  As with 
  10452.                  Bulletnet, if you have nodes to which you send mail, but do not dial them directly, then set "Manual 
  10453.                  Dial" to "Y" and put "/nnnnn" in the  phone number, where "nnnnn" is a reference to another entry in 
  10454.                  the Network Node Table (one which does have a real phone number). Bulletron does not use 
  10455.                  information from the NOVELIST file to automatically dial calls or route mail.  YOU must read the  
  10456.                  NOVELIST file using the provided database search and retrieval functions (described below), then 
  10457.                  YOU decide how your long distance money is going to be spent.  Also, as a matter of common 
  10458.                  courtesy, it is best to ask the operator of the remote system if  you can route mail through his system 
  10459.                  before you attempt to run up HIS long distance bill.  If you set "Manual Dial" to "Y" for any FIDO 
  10460.                  node, but place nonzero values in the network start time, network start time, and days of the week field, 
  10461.                  the Bulletron will build a mail packet for that node at the time specified, even though it does not dial.  
  10462.                  This allows you to have mail packets ready and waiting for remote nodes that only dial you.
  10463.               
  10464.                  Finally, two additional fields are provided for each FIDO node to allow you to specify DOS batch 
  10465.                  procedures for compressing and decompressing mail packets for that node.  At the prompt,
  10466.               
  10467.                  
  10468.               
  10469.                  Batch Procedure for Compressing Packets []:
  10470.               
  10471.                  
  10472.               
  10473.                  you can enter the file name of a ".BAT" file that Bulletron will execute right after an outgoing 
  10474.                  mail packet is built.  Do not include any path information; Bulletron will look for the batch file in your 
  10475.                  BBS default directory (the directory that is current when the BBS program is started).  After that, you 
  10476.                  are prompted for
  10477.  
  10478.               
  10479.  
  10480.  
  10481.  
  10482.  
  10483.  
  10484.               
  10485.                  
  10486.               
  10487.                  Batch Procedure for Decompressing Packets []:
  10488.               
  10489.                  
  10490.               
  10491.                  Here, you can enter the name of a ".BAT" file that will be executed immediately after an 
  10492.                  incoming packet has been received.  Details of what parameters Bulletron passes to these batch 
  10493.                  procedures, and what you should place inside them, are given below, under "Compressing and 
  10494.                  Decompressing FIDO Packets".
  10495.               
  10496.                  5.6.2.6.  FIDO NOVELIST Processing
  10497.               
  10498.                  A listing of all the nodes in the worldwide FIDO network is  published every Friday and 
  10499.                  distributed via FIDOnet.  FIDO systems use this list to assist in the routing of mail messages, and as a 
  10500.                  reference source for prospective FIDO operators to use in locating their local network coordinator.  The 
  10501.                  name of the ASCII text file containing the FIDO node list is "NODELIST.nnn", where "nnn" is the day 
  10502.                  of the year on which the list was published.  You can download a copy of this file from most systems in 
  10503.                  the FIDO network.  Frequently, it will be stored in a compressed form, compatible with System 
  10504.                  Enhancement Associates ".ARC" format, as a file named "NODELIST.ann", where "nn" is the last two 
  10505.                  digits of  the day of the year.
  10506.               
  10507.                  Bulletron provides a facility for creating an on-line database from a "NODELIST.nnn" file that it 
  10508.                  can use for determining which messages to place in different message packets when packets are 
  10509.                  prepared for several destinations, as in the case of a network hub.  The name of the utility program that 
  10510.                  compiles the Node List Database is "NODECOMP.EXE".  You run this program from an OS/2 
  10511.                  command line prompt with the command,
  10512.               
  10513.                  
  10514.               
  10515.                  NODECOMP filename
  10516.               
  10517.                  
  10518.               
  10519.                  where "filename" is the name of the ASCII "NODELIST.nnn" file. 
  10520.               
  10521.                  For client/server systems, the name of the node list compiler program is changed to 
  10522.                  "NODCOMPL.EXE".  When you run the client/server version, you must specify the name of the server 
  10523.                  that is running the BBSRVR program, also, as in:
  10524.               
  10525.                  
  10526.               
  10527.                  NODCOMPL SRVRxxxxxxx filename
  10528.               
  10529.                  
  10530.               
  10531.                  where "xxxxxxxx" is the LAN name of the server and "filename" is the name of the ASCII 
  10532.                  "NODELIST.nnn" file.
  10533.               
  10534.                  When you run the NODECOMP utility, it produces two files named "BBFNODES.DAT", and 
  10535.                  "BBFNODES.IDX", which the BBS2 program will open as supplemental database files when they are 
  10536.                  needed.  To run the NODECOMP utility, you need to have two other supplemental database files 
  10537.                  named "BBFREF.DAT" and "BBFREF.IDX".  These files contain a reference table that 
  10538.                  cross-references information about country names, state/province/territory names, telephone country 
  10539.                  codes and telephone area codes and FIDO addresses to build the indices present in "BBFNODES.IDX".
  10540.               
  10541.                  Bulletron makes it available for users to query and browse this database using the "L" command 
  10542.                  from the main system prompt.  Users can search the Node List Database by FIDO address, FIDO 
  10543.                  network, FIDO region, FIDO zone, country, state/province/territory, city/town/village/county, 
  10544.                  telephone country code, telephone area code, or telephone city code.  The "HELPL.UTL" file gives 
  10545.                  detailed user instructions.
  10546.               
  10547.                  Because the four files used to support the FIDO Node List Database are opened as read-only by 
  10548.                  the BBS program, no provision is made for rebuilding their indices.  The "BBFREF.DAT" and 
  10549.                  "BBFREF.IDX" files were created, record by record, by considerable meticulous hand-editing, using 
  10550.  
  10551.               
  10552.  
  10553.  
  10554.  
  10555.  
  10556.  
  10557.                  library reference materials, so you can not create these at your site.  If they are lost or damaged, you can 
  10558.                  download new copies from out technical support BBS at (315) 471-2970.  The "BBFNODES.DAT" 
  10559.                  and "BBFNODES.IDX" files are deleted and completely rebuilt each time that the NODECOMP 
  10560.                  program is executed.
  10561.               
  10562.                  Because of the intricacy of the links and cross references used in the Node List Database, it takes 
  10563.                  far longer to process a NODEDIFF file than to merge the NODEDIFF file into an existing NODELIST 
  10564.                  file and re-create "BBFNODES.DAT" and "BBFNODES.IDX". For this reason, we do not provide any 
  10565.                  program for processing  NODEDIFF files directly.
  10566.               
  10567.                  5.6.2.7.  Dialing and Receiving FIDO Calls (Mailer Function)
  10568.               
  10569.                  Outgoing calls to FIDO systems are scheduled in Bulletron by the same mechanism that 
  10570.                  schedules Bulletnet calls.  You set the hours to attempt dialing, and the days on which to call, for each 
  10571.                  node in Bulletron's Network Node Table ("PXL" command).  You may set this time to your zone mail 
  10572.                  hour, but Bulletron imposes no restrictions requiring you to do so.  Although it can receive networking 
  10573.                  calls on all phone lines simultaneously, Bulletron can only dial out for networking to one system at a 
  10574.                  time, so, if you plan to dial out to more than one system, you will want to allocate non-overlapping 
  10575.                  windows of 30 minutes for each system that you attempt to dial.
  10576.               
  10577.                  When a call is placed, Bulletron will begin by building the mail packet for the node to be dialed.  
  10578.                  Internally, it names this file "FOnnnnn.PKT", where "nnnnn" is the node number you used for the 
  10579.                  system in your Network Node Table.  This file is stored in your BBS default directory; that is, the 
  10580.                  directory that was current when the system was started up.  This file remains in the default directory 
  10581.                  until you explicitly delete it, or it is overwritten by another call to the same node.
  10582.               
  10583.                  After sending the mail packet for a dialed node, and attached files, if any, Bulletron attempts to 
  10584.                  pick up a mail packet from that node and attached files.  If the dialed node has nothing to pick up, or 
  10585.                  after the pickup is complete, Bulletron disconnects and updates the last logon date and time for that 
  10586.                  node's networking account so that it can determine which messages are new at the time of the next call.  
  10587.                  The incoming mail packet is stored in a file named "FInnnnn.PKT", in the default directory, where 
  10588.                  "nnnnn" is the node number that you used for the remote system in your Network Node Table.  The 
  10589.                  mail messages in this packet are unpacked and distributed to your Bulletron sub-boards when the call is 
  10590.                  disconnected.  As with Bulletnet, files received during a FIDOnet call are placed in the upload directory 
  10591.                  of your Network Source  sub-board.  Files to be sent can be in any directory; Bulletron will use the 
  10592.                  Download Database to find them.  If you define more than one set of file directories for your Network 
  10593.                  Source sub-board, then the first set of directories appearing on the menu are used.
  10594.               
  10595.                  For receiving calls, any phone line of an Bulletron system can receive a FIDO networking call at 
  10596.                  any time.  When an incoming call uses the FTS-0001 protocol, there is no way of knowing who called 
  10597.                  without opening the received mail packet and examining its header.  This could take considerable time 
  10598.                  if the mail packet is large and has been compressed by ARC or some other method.  Rather than 
  10599.                  running up the long distance phone bill for the calling system, and run the risk of timing out the 
  10600.                  protocol, Bulletron does not attempt to turn around and send after receiving for FTS-0001 sessions.  
  10601.                  However, if file requests are found in the received packet when it is distributed to the Bulletron 
  10602.                  sub-boards, Bulletron will generate messages on the Network Source sub-board that will cause the files 
  10603.                  to be sent the next time that system is called.  With FTS-0001 protocol, you MUST call the remote 
  10604.                  system to send anything to them.  Even if outgoing mail packets are pre-built and waiting to go, there is 
  10605.                  no practical way of knowing who called until after the call is over.  Even if you think that there is only 
  10606.                  one system calling yours, You can't guarantee that some  yingyang that you never even heard of won't 
  10607.                  get ahold of your  phone number and try to pick up your mail.  This security issue is resolved by the 
  10608.                  YooHoo protocol.  As a convenience to systems that call yours, to avoid having them pay for an 
  10609.                  aborted telephone call if your system should crash for some reason, you can set the networking flag in 
  10610.                  the "PL" command for the phone line(s) that receive FIDOnet calls to "F".  This setting causes 
  10611.                  Bulletron to not place the modem in auto-answer mode, but rather, poll the line for a "ring" signal every 
  10612.                  half  second, and send an "ATA" command to the modem if it finds the  phone ringing.  That way, if 
  10613.                  your BBS goes down unexpectedly, the phone line will just ring.  Using this setting will not interfere  
  10614.                  with incoming calls from BBS users, as the overhead of polling for the "ring" is very small.
  10615.               
  10616.                  5.6.2.8.  Compressing and Decompressing FIDO Packets
  10617.               
  10618.                  When you set up your Network Node Table entry for a FIDO node, you can specify the name of a 
  10619.                  DOS batch procedure that compresses packet files for that node, and another DOS batch procedure that 
  10620.                  decompresses incoming packets.  Each FIDO node can have a different pair of batch procedures, if you 
  10621.                  like, or some, or all of them can be the same.  When you specify the names of these batch files, you 
  10622.                  should not include any drive of path information; Bulletron assumes that the batch files are in your 
  10623.  
  10624.               
  10625.  
  10626.  
  10627.  
  10628.  
  10629.  
  10630.                  BBS default directory; that is, the drive and directory that is current when the BBS2 program is started.
  10631.               
  10632.                  When your batch file is started, Bulletron passes two parameters to it.  The first parameter is the 
  10633.                  fully specified file name (drive, directory, file name and file name extension) of the input file to the 
  10634.                  procedure.  The second parameter is the fully specified file name for the output from the procedure.  For 
  10635.                  the compression procedure, the input is the "FOnnnnn.PKT" file in your BBS default directory, and the 
  10636.                  output is a whose name is an eight digit hexadecimal number, computed by a magic formula, in your 
  10637.                  Network Download Directory.  For the decompression procedure, the input is the name of the first file 
  10638.                  received during the call, in your Network Upload Directory, and the output is the "FInnnnn.PKT" file in 
  10639.                  your BBS default directory.  If you do not use compression or decompression for mail packets, then 
  10640.                  your procedures reduce to a single command:
  10641.               
  10642.                  
  10643.               
  10644.                  COPY %1 %2
  10645.               
  10646.                  
  10647.               
  10648.                  in both cases.
  10649.               
  10650.                  For a less trivial example, if you were to use ZIP compression for mail packets, then your 
  10651.                  compression procedure  might be:
  10652.               
  10653.                  
  10654.               
  10655.                  PKZIP %2 %1
  10656.               
  10657.                  
  10658.               
  10659.                  Your decompression procedure, however, is complicated by the fact that you don't know what the 
  10660.                  name of the file is going to be that comes out of the compressed packet.  You might resolve  this by 
  10661.                  using the following procedure:
  10662.               
  10663.                  
  10664.               
  10665.                  MD TEMP
  10666.               
  10667.                  FOR %%X IN (TEMP\*.*) DO DEL %%X
  10668.               
  10669.                  PKUNZIP %1 TEMP
  10670.               
  10671.                  FOR %%X IN (TEMP\*.*) DO COPY %%X %2
  10672.               
  10673.                  
  10674.               
  10675.                  To explain this procedure, the first line creates a subdistrict named "\TEMP" under the BBS 
  10676.                  default directory.  If the procedure is run twice, this line will result in an error message, that will be 
  10677.                  ignored.  The second line is there in case the "\TEMP" directory already existed and was not empty.  It 
  10678.                  says, "for each file in the temporary directory, delete that file".  This avoids a prompt that comes up if 
  10679.                  you just do a "DEL *.*".  The third line  decompresses the input file, placing any files that come out in 
  10680.                  the temporary directory.  Only one file should come out.  Then the fourth line copies each file in the 
  10681.                  temporary directory (there should be only one) back into the BBS default directory, giving it the proper 
  10682.                  name.  The "%%X" in the above procedures is a local character string variable used in the batch 
  10683.                  procedure.
  10684.               
  10685.                  Later, when file compression programs for native 32-bit OS/2 become fully developed, you can 
  10686.                  change the file name extensions of your packet compression and decompression batch procedures from 
  10687.                  ".BAT" to ".CMD", and Bulletron will automatically execute them in OS/2 sessions instead of DOS 
  10688.                  sessions.  The above examples were prepared and tested using PC-DOS 2.1, the September 1983 
  10689.                  release and will work with every version of DOS through the current version of OS/2
  10690.               
  10691.                  For receiving calls from FIDO connections that use straight FTS-0001 protocol, a pair of 
  10692.                  system-wide default packet compression and decompression procedures are provided.  You specify 
  10693.                  these with Extended Parameters ("PXP") command, functions "X" and "Y".  When a call is received 
  10694.                  using straight FTS-0001, the most primitive form of FIDO connection, the mail packet is transmitted 
  10695.                  using an XMODEM file transfer, and no information regarding the type of compression, if any, is 
  10696.  
  10697.               
  10698.  
  10699.  
  10700.  
  10701.  
  10702.  
  10703.                  provided.  Furthermore, no information about who is calling is provided, so that the packet compression 
  10704.                  method can be taken from the node  definition record.  Bulletron will attempt to decompress a packet 
  10705.                  received this way using the procedure that you specify for  function "Y" of the "PXP" command.  If you 
  10706.                  leave function "Y" of the "PXP" command blank, or put blanks in that field, then Bulletron will not 
  10707.                  attempt any form of decompression.  The default packet compression and decompression procedures 
  10708.                  will also be attempted for calls that your system originates if you leave the names of  the packet 
  10709.                  compression and decompression procedures blank in the  node record for that node.
  10710.               
  10711.                  5.6.2.9.  Sample FIDO Setup
  10712.               
  10713.                  There are quite a few details that need to be defined to set up FIDOnet for your Bulletron system.  
  10714.                  In this section, we will list the steps needed, assuming that your FIDO address is 1:267/0 and you are 
  10715.                  exchanging mail and files with FIDO address 1:267/112.
  10716.               
  10717.                      1.    Use the "PXP" command, function "U" to enter your system's FIDOnet address:
  10718.               
  10719.                  
  10720.               
  10721.                  Zone: 1
  10722.               
  10723.                  Net: 267
  10724.               
  10725.                  Node: 0
  10726.               
  10727.                  Point: 0
  10728.               
  10729.                  
  10730.               
  10731.                      2.    Use the "PXP" command, function "V" to enter the password that you want to use for 
  10732.                      incoming mail packets.  Enter spaces to inhibit password checking.
  10733.               
  10734.                      3.    Use the "PXP" command, function "X" to specify the name of the default batch procedure for 
  10735.                      compressing outgoing mail packets.  For this example, we will call it "TEST1.BAT".
  10736.               
  10737.                      4.    Use the "PXP" command, function "Y" to specify the name of the default batch procedure for 
  10738.                      decompressing incoming mail packets.  For this example, we will call it "TEST2.BAT".
  10739.               
  10740.                      5.    Off-line, or in another session, using a text editing program like OS/2's "E.EXE", create a file 
  10741.                      named "TEST1.BAT" in your BBS default directory, containing the following line:
  10742.               
  10743.                  
  10744.               
  10745.                  COPY %1 %2
  10746.               
  10747.                  
  10748.               
  10749.                  We are assuming that no compression will be used for outgoing mail packets.
  10750.               
  10751.                      6.    Off-line, or in another session, using a text editing program like OS/2's "E.EXE", create a file 
  10752.                      named "TEST2.BAT" in your BBS default directory, containing the following line:
  10753.               
  10754.                  
  10755.               
  10756.                  COPY %1 %2
  10757.               
  10758.                  
  10759.               
  10760.                  We are assuming that no decompression will be used for incoming mail packets.
  10761.               
  10762.                  Back on-line, use the "PXL" command to create an entry in your Network Node Table.  We will 
  10763.                  assume that no other node is using number 69 for its reference number, so we create the  Network Node 
  10764.                  Table entry using:
  10765.               
  10766.                  
  10767.               
  10768.                  Node No.:  69
  10769.  
  10770.               
  10771.  
  10772.  
  10773.  
  10774.  
  10775.  
  10776.               
  10777.                  Name:  FIDO Test System
  10778.               
  10779.                  Local Acct:  FIDOTEST
  10780.               
  10781.                  City/State/Country:  Syracuse, NY
  10782.               
  10783.                  ORA/FIDO:  F
  10784.               
  10785.                  FIDO Address:  1:267/112
  10786.               
  10787.                  Manl Dial:  A
  10788.               
  10789.                  Phone No,:  555-1212
  10790.               
  10791.                  Remote PSWD:  JUNK
  10792.               
  10793.                  Baud Rate:  2400
  10794.               
  10795.                  Start Time:  1700
  10796.               
  10797.                  Stop Time:  1730
  10798.               
  10799.                  Days:  YYYYYYY
  10800.               
  10801.                  Batch Procedure for Compressing Packets:  TEST1.BAT
  10802.               
  10803.                  Batch Procedure for Decompressing Packets:  TEST2.BAT
  10804.               
  10805.                  
  10806.               
  10807.                  This says that the name of the remote BBS (at FIDO address 1:267/112) is "FIDO Test System", 
  10808.                  that it is located in "Syracuse, NY", that it is a FIDO call, as opposed to an Bulletnet call, that its 
  10809.                  FIDOnet address is 1:267/112, that we  want to automatically dial it, regardless of whether or not we 
  10810.                  have mail waiting for it, that the phone number to dial is 555-1212, that the maximum Baud rate it can 
  10811.                  connect at is 2400, that we want to start calling at 5:00 PM, and stop trying at 5:30 PM, on all days of 
  10812.                  the week, and that the mail packet compression and decompression procedures are the same  as our 
  10813.                  defaults.  The password, "JUNK", will presented to the  FIDO Test System if Bulletron logs on using 
  10814.                  YooHoo, and will be placed in outgoing mail packets for FTS-0001.
  10815.               
  10816.                      7.    Log off your system and log back on as a new user, to create  an account named "FIDOTEST".  
  10817.                      Log off and log back on as the  system operator so that you can assign access levels and SIGs 
  10818.                      to the new "FIDOTEST" account.  Any "echo" sub-boards that you wish to exchange with 
  10819.                      FIDOnet address 1:267/112 must appear in FIDOTEST's SIGs.  See sections documenting the 
  10820.                      "+" command and the "PB" command if you need help assigning more than ten SIG 
  10821.                      sub-boards.  The password for account "FIDOTEST" will be  required of FIDO Test System, 
  10822.                      if it calls your system and tries to log on using YooHoo.
  10823.               
  10824.                      8.    Use the "PXF" command to assign FIDO conference names to your Bulletron sub-boards, for 
  10825.                      any "echo" boards that you plan to exchange.
  10826.               
  10827.                      9.    Use the "PB" command to see if you have sub-boards with a special feature type of "S", for 
  10828.                      Network Source, and "D" for Network Destination.  If you do not have them, then create them.  
  10829.                      You want to make the access level for your Network Source sub-board low enough that paid 
  10830.                      subscribers have write access, so that they can initiate network mail.  You want to make the 
  10831.                      access level of you Network Destination sub-board high enough so that only system operators 
  10832.                      can read it.  You never know what kind of junk might come in.  You should not make either of 
  10833.                      these sub-boards SIGs.
  10834.               
  10835.                      10.   Use the "PF" command to define path-ids for the directories that you plan to use for 
  10836.                      network uploads (incoming mail packets) and network downloads (outgoing mail packets).  
  10837.                      Incoming files will always be placed in the Network Upload directory until you review them 
  10838.                      and make them available to your users.
  10839.               
  10840.                      11.   Use the "PD" command to assign the path-ids that you created in step 11 to menu 
  10841.                      selection zero of your Network Source sub-board.
  10842.  
  10843.               
  10844.  
  10845.  
  10846.  
  10847.  
  10848.  
  10849.               
  10850.                      12.   If you want to allow your users to search the FIDOnet NODELIST, then take your 
  10851.                      system off-line and execute
  10852.               
  10853.                  
  10854.               
  10855.                  NODECOMP NODELIST.nnn
  10856.               
  10857.                  
  10858.               
  10859.                  Users that have read access to your Network Source sub-board will be allowed to search the 
  10860.                  NODELIST database using the "L" command.  Users that have write access to your Network Source 
  10861.                  sub-board will be allowed to use the "E FIDO" command.
  10862.               
  10863.                  5.6.3.  Internet
  10864.               
  10865.                  5.6.3.1.  Installation of TCPIP/2 Drivers
  10866.               
  10867.                  Bulletron interfaces with and relies upon the "sockets" interface of the IBM TCPIP/2 package for 
  10868.                  its internet connectivity.  Because the OS/2 program loader checks for the presence of the TCPIP/2 
  10869.                  drivers before allowing the program to load, a special version of the BBS2.EXE file must be prepared 
  10870.                  for use with internet connectivity.  OS/2 will refuse to load the internet version if the TCPIP/2 package 
  10871.                  is not installed.  The standard version of the BBS2.EXE file is compiled without the code that requires 
  10872.                  these drivers to be present.
  10873.               
  10874.                  The hardware that brings internet connectivity into your computer is a LAN (Local Area 
  10875.                  Network) adapter.  This hardware adapter will usually be an Ethernet type of adapter, such as the 3Com 
  10876.                  3C503 or the Standard Microsystems Ethercard Plus.  These are, by no means, the only LAN adapters 
  10877.                  that you can use.  The installations provided by IBM with your TCPIP/2 Base Kit will list all those for 
  10878.                  which device drivers are provided.  Outside your computer, your LAN adapter will connect to a piece 
  10879.                  of equipment called a "router" via the LAN connection; usually thinwire, twisted pair or AUI.  Your 
  10880.                  router will then connect to a special type of modem known as a "DSU".  The DSU will connect to a 
  10881.                  special high performance telephone line which might be an ISDN, a leased line, a fractional T1, a full 
  10882.                  T1 or a T3 line.  Your Internet Service Provider; that is, the company with which you will be 
  10883.                  connecting at the other end of the special phone line, will usually provide assistance in selecting, 
  10884.                  installing and setting up the DSU and router that will best suit your needs.  In essence, though, the DSU 
  10885.                  provides the modem function for connecting to the special phone line, and the router performs that 
  10886.                  function of converting the information received from the DSU into something that is compatible with 
  10887.                  your LAN adapter.  The router will also filter out internet traffic that is not destined for your system, 
  10888.                  and keep information that is destined for another location on your LAN from being transmitted to the 
  10889.                  outside world.
  10890.               
  10891.                  In the instructions below, we will describe the steps required to install Version 2.0 of the IBM 
  10892.                  TCPIP/2 base kit.  These steps are provided only as an example, to be superseded by any manufacturer 
  10893.                  provided instructions if you have a later version of TCPIP/2.
  10894.               
  10895.                  The installation of TCPIP/2 begins by installing the LAN adapter card in your computer.  Most 
  10896.                  LAN adapters will require the use of an interrupt line (IRQ) and possibly some shared memory.  You 
  10897.                  will want to select an IRQ which is not already in use by another hardware adapter in your system.  In 
  10898.                  most cases, you will have very few choices.  Most motherboards will have IRQ 0 permanently 
  10899.                  connected to the Timer 0 interrupt, IRQ 1 permanently connected to the Keyboard Interrupt, and IRQ 2 
  10900.                  connected to the interrupt cascade controller.  IRQ 6 will be in use by the floppy disk controller or hard 
  10901.                  disk controller.  IRQ 3 and IRQ 4 will be in use by serial port adapters, one of which may be connected 
  10902.                  to your mouse or trackball, and the other to a modem in use by your BBS, or possibly a multiport serial 
  10903.                  card.  If you have a printer connected to the LPT1 port on your computer, then it will be using IRQ 7.  
  10904.                  This leaves only IRQ5, which is sometimes used for an LPT2 port, if your LAN adapter is an 8-bit 
  10905.                  adapter.  If your LAN adapter has a 16-bit adapter; that is, it has two sets of gold fingers for plugging 
  10906.                  into your bus slot, then you will have a wider variety of choices.  For 16-bit LAN adapters, IRQ 9, 10, 
  10907.                  11 or 12 are usually good choices.  The only conflicts that usually occur in the upper range of IRQs are 
  10908.                  video cards that sometimes use IRQ 9, SCSI adapters that sometimes use IRQ 11.
  10909.               
  10910.                  Once you have physically installed the LAN adapter card, the next step is to install the LAN 
  10911.                  Adapter Protocol Support (LAPS) programs provided with your TCPIP/2 Base Kit.  Place the LAPS 
  10912.                  diskette in diskette drive A and, from and OS/2 command prompt, enter
  10913.               
  10914.                  
  10915.  
  10916.               
  10917.  
  10918.  
  10919.  
  10920.  
  10921.  
  10922.               
  10923.                  LAPS
  10924.               
  10925.                  
  10926.               
  10927.                  The LAPS installation program will display a screen with the choice "INSTALL" highlighted.  
  10928.                  Click on this with your mouse, and the installation program will copy the LAPS drivers to your hard 
  10929.                  disk.  When it is finished copying the driver files to your hard disk, the installation program will return 
  10930.                  to the original screen with the "CONFIGURE" option highlighted.  Click on the "CONFIGURE option 
  10931.                  with your mouse and the installation program will display another screen that allows you to select LAN 
  10932.                  adapter hardware and protocols.  From the upper left column, select the LAN adapter which you have 
  10933.                  installed and from the upper right column select the "IBM TCPIP" protocol.  When you have made 
  10934.                  these selections, they will appear in a box in the lower left of the screen.  Click with your mouse on the 
  10935.                  "OK" button to confirm your choices and complete the configuration process.
  10936.               
  10937.                  When the LAPS installation program returns you to the initial screen, you can click on "EXIT" to 
  10938.                  exit from the LAPS installation program.  The program will tell you that you must shut down your 
  10939.                  computer and reboot before proceeding.  Before you do this, however, you may want to use the OS/2 
  10940.                  editor to inspect and edit a file named "PROTOCOL.INI", which is found in a directory named 
  10941.                  "IBMCOM" on the hard drive on which you installed LAPS.  Near the bottom of the file, if there is an 
  10942.                  "interrupt = " line and the IRQ is one that you know will conflict with other cards in your system, then 
  10943.                  you will want to change this.  Also, if there is a "transceiver = 'ONBOARD'" line in the file and you 
  10944.                  know that you will be connecting to the card with the AUI port, then you may want to change the word 
  10945.                  "ONBOARD" to "EXTERNAL".  Usually, however, you will just leave the "transceiver = " line alone.  
  10946.                  After closing the "PROTOCOL.INI" file, you must shut down OS/2 and reboot your computer before 
  10947.                  proceeding to install the rest of TCPIP/2.  The installation process for the rest of TCPIP/2 will check to 
  10948.                  be sure that the LAPS drivers are installed and running before it will install.
  10949.               
  10950.                  After rebooting your computer, get back to an OS/2 command line prompt and insert Base Kit 
  10951.                  Diskette 1 into diskette drive A, then enter the command,
  10952.               
  10953.                  
  10954.               
  10955.                  TCPINST
  10956.               
  10957.                  
  10958.               
  10959.                  When the installation program for Tipped presents its initial screen, in the upper area, you will 
  10960.                  want to select:
  10961.               
  10962.                  
  10963.               
  10964.                  Base TCP/IP for OS/2
  10965.               
  10966.                  Pubs for Base TCP/IP for OS/2, and
  10967.               
  10968.                  IBM Library Reader
  10969.               
  10970.                  
  10971.               
  10972.                  The "Base TCP/IP for OS/2" is the set of "sockets" drivers that the BBS2.EXE program will 
  10973.                  require.  The "Pubs for Base TCP/IP for OS/2" is your online reference manual.  The "IBM Library 
  10974.                  Reader" is the program that allows you to read the online reference material.  The other components are 
  10975.                  irrelevant for this propose, and most are extra cost add-on kits.  In the mid-lower part of the screen is a 
  10976.                  check box labeled:
  10977.               
  10978.                  
  10979.               
  10980.                  Install/run LAN Adapter Protocol Support
  10981.               
  10982.                  
  10983.               
  10984.                  You will want to make sure that this box is NOT checked because you have already performed 
  10985.                  this step.  Below that box is another box labeled:
  10986.               
  10987.                  
  10988.  
  10989.               
  10990.  
  10991.  
  10992.  
  10993.  
  10994.  
  10995.               
  10996.                  Configure network  connection
  10997.               
  10998.                  
  10999.               
  11000.                  You will want to have this box checked, so that you can enter information about your LAN 
  11001.                  adapter.
  11002.               
  11003.                  At the bottom of the Tipped installation screen are four more boxes into which you can enter 
  11004.                  data.  In the "Host name" box, you can enter anything up to eight letters.  This is the name by which 
  11005.                  your BBS will be known to the entire world.  For example, if someone were to send electronic mail to a 
  11006.                  user at internet address "ELIJAH.IBM.COM", then "ELIJAH" is what would be entered in this box.  
  11007.                  The full e-mail address of the system operator on this BBS would be:
  11008.               
  11009.                  
  11010.               
  11011.                  SYSOP@ELIJAH.IBM.COM
  11012.               
  11013.                  
  11014.               
  11015.                  The name of your BBS computer that you enter here will usually have to be agreed upon in 
  11016.                  advance by you and your internet service provider, as he must also enter this name in his domain name 
  11017.                  server, and it will have to be a name that is unique throughout the world.
  11018.               
  11019.                  Below  the "Host name" box is a box titled "IP Address:".  This address will be given to you by 
  11020.                  your internet service provider.  It will consist of four numbers separated by periods, as in 
  11021.                  "121.97.40.31".  This number must be unique throughout the world in order for your internet traffic to 
  11022.                  reach your computer.
  11023.               
  11024.                  To the right of thee "Host  name" box, is a box labeled "Subnet Mask:".  This will usually be 
  11025.                  "255.255.255.0", though you should verify this with your internet service provider.
  11026.               
  11027.                  Below the "Subnet Mask:" box is a box labeled "Router IP Address:".  This address will consist 
  11028.                  of four numbers separated by periods, as in "121.97.40.30".  Your internet service provider and you will 
  11029.                  decide this address when you install the router.
  11030.               
  11031.                  In the upper right part of the screen will be a box labeled "Update CONFIG.SYS".  You will want 
  11032.                  to make sure that this box is checked so that the installation program will add the necessary commands 
  11033.                  to your CONFIG.SYS file to load and start up the TCP/IP drivers when you boot your computer.
  11034.               
  11035.                  When installation of Tipped is complete, you will have to reboot your computer to have the 
  11036.                  changes take effect.
  11037.               
  11038.                  5.6.3.2.  PING Service
  11039.               
  11040.                  "PING" is a simple diagnostic program that you can use to verify your connectivity to various 
  11041.                  points in the Internet.  After you have installed Tipped on your computer, and rebooted it, you should 
  11042.                  test it by PINGing your router or another computer on your network.  Suppose, for example, you set up 
  11043.                  your BBS computer to be internet address 121.97.40.31, your router as 121.97.40.30, and your internet 
  11044.                  service provider tells you that there is a computer in his office having internet address 121.97.41.10.  
  11045.                  From an OS/2 command prompt, you could enter
  11046.               
  11047.                  
  11048.               
  11049.                  PING 121.97.40.30
  11050.               
  11051.                  or
  11052.               
  11053.                  PING 121.97.41.10
  11054.               
  11055.                  
  11056.               
  11057.                  OS/2 will execute the "PING" program provided with Tipped and report back whether or not it was able 
  11058.                  to get a response from either of these addresses.
  11059.               
  11060.                  You can also "PING" a remote computer directly from a Bulletron session.  At the Bulletron 
  11061.  
  11062.               
  11063.  
  11064.  
  11065.  
  11066.  
  11067.  
  11068.                  command prompt ("What next?"), you can enter "I" to bring up the Internet Services Menu, then enter 
  11069.                  "P" to execute the PING function.  Bulletron then asks you for the address or name of the computer to 
  11070.                  PING.  You can enter the address of the remote computer in dotted decimal notation, as in 
  11071.                  "121.97.41.10", or by name, as in "SERVER1.VNET.NET".  If you enter the name rather that the 
  11072.                  specific internet address, then the PING function will utilize a special computer, called the "Domain 
  11073.                  Name Server" which will be located in the office of your internet service provider, to look up the 
  11074.                  address associated with that name.  To save time, you can also enter "IP" at the Bulletron main system 
  11075.                  prompt, or enter "IP" and the address or name, as in:
  11076.               
  11077.                  IP 121.97.41.10
  11078.               
  11079.                  or
  11080.               
  11081.                  IP SERVER1.VNET.NET
  11082.               
  11083.                  The Bulletron PING function will display a message telling you how many milliseconds it took 
  11084.                  to get an acknowledgment from the other computer, or an error message if the other computer was not 
  11085.                  reachable at that time.
  11086.               
  11087.                  5.6.3.3.  HOST Service
  11088.               
  11089.                  The HOST program that is provided with Tipped can be used to look up the internet address of a 
  11090.                  remote computer given its name, or to look up its name, given its internet address.  For example, from 
  11091.                  an OS/2 command prompt, you might enter
  11092.               
  11093.                  HOST SERVER1.VNET.NET
  11094.               
  11095.                  and get back a dotted decimal internet address for that computer.
  11096.               
  11097.                  You can also perform the "HOST" function directly from a Bulletron session.  At the Bulletron 
  11098.                  command prompt ("What next?"), you can enter "I" to bring up the Internet Services Menu, then enter 
  11099.                  "L" to execute the "List Network Nodes" function.  Bulletron then asks you for the address or name of 
  11100.                  the computer .  You can enter the address of the remote computer in dotted decimal notation, as in 
  11101.                  "121.97.41.10", or by name, as in "SERVER1.VNET.NET".  The "HOST" function will utilize a 
  11102.                  special computer, called the "Domain Name Server" which will be located in the office of your internet 
  11103.                  service provider, to look up the address associated with that name.  To save time, you can also enter 
  11104.                  "IL" at the Bulletron main system prompt, or enter "IL" and the address or name, as in:
  11105.               
  11106.                  
  11107.               
  11108.                  IL 121.97.41.10
  11109.               
  11110.                  or
  11111.               
  11112.                  IL SERVER1.VNET.NET
  11113.               
  11114.                  
  11115.               
  11116.                  If you enter the internet address, as in the first example, then Bulletron will respond with a list of 
  11117.                  all names associated with that address.  If you enter a name, as in the second example, then Bulletron 
  11118.                  will respond with a list of all addresses associated with that name.
  11119.               
  11120.                  5.6.3.4.  FINGER Service
  11121.               
  11122.                  Bulletron provides a "FINGER" function that your callers can use to look up biographical data 
  11123.                  about someone on another computer.  It also has, built into it, a server daemon that will respond to 
  11124.                  FINGER requests coming from other points on the internet.  
  11125.               
  11126.                  5.6.3.4.1.  Outgoing FINGER Service
  11127.               
  11128.                  To "FINGER" someone on a remote computer, from the  Bulletron main system prompt, you can 
  11129.                  enter "I" to bring up the Internet Services Menu, then enter "W" to select the "who is" function, and 
  11130.                  Bulletron will then prompt you for the name of the remote computer and user.  You should enter this 
  11131.                  information as an account code, followed by an "@" sign, and the name of the computer, as in:
  11132.               
  11133.                  
  11134.  
  11135.               
  11136.  
  11137.  
  11138.  
  11139.  
  11140.  
  11141.               
  11142.                  SYSOP@ELIJAH.IBM.NET
  11143.               
  11144.                  
  11145.               
  11146.                  In this example, the user is trying to get information about an account named "SYSOP" on an 
  11147.                  internet host named "ELIJAH.IBM.NET".  The user could also omit the account code and just enter 
  11148.                  "@ELIJAH.IBM.NET", or "ELIJAH.IBM.NET", to get general information about that computer.  To 
  11149.                  save time, the entire command can also be entered at the main system prompt without having to display 
  11150.                  the menu, as in:
  11151.               
  11152.                  
  11153.               
  11154.                  IW SYSOP@ELIJAH.IBM.NET
  11155.               
  11156.                  or
  11157.               
  11158.                  IW ELIJAH.IBM.NET
  11159.               
  11160.                  
  11161.               
  11162.                  5.6.3.4.2.  Incoming FINGER Service
  11163.               
  11164.                  When Bulletron accepts a FINGER request from a remote computer, if the account is specified, 
  11165.                  then it returns the information that would be displayed by an on-line user executing a "WA" command.  
  11166.                  If no account code is specified, then it returns the information that would be displayed by an on-line 
  11167.                  user executing a "WO" command.  All incoming FINGER requests are recorded in the system log 
  11168.                  (BBSLOGnn.DAT), with information about the time and date of the request, the user account and host 
  11169.                  computer which originated the request, and the account on your system about which the information 
  11170.                  was requested.
  11171.               
  11172.                  NOTE:  You do not need to perform and setup or install or execute any special programs for the 
  11173.                  FINGER service to work; it is all self-contained with Bulletron.  If you install another FINGER server 
  11174.                  program, like "FINGERD", then the results will be unpredictable.
  11175.               
  11176.                  5.6.3.5.  TELNET Service
  11177.               
  11178.                  Bulletron provides both incoming TELNET services that allow people at other internet sites to 
  11179.                  log on to your BBS, and also an outgoing TELNET service that allow users on your BBS to log onto 
  11180.                  other internet hosts.  As with the FINGER service, all components for both incoming and outgoing 
  11181.                  TELNET services are built into the BBS program, so you must make sure that your computer does 
  11182.                  NOT automatically start the TELNET server program that is provided with Tipped; that is, the 
  11183.                  TELNETD program.
  11184.               
  11185.                  5.6.3.5.1.  Outgoing TELNET Service
  11186.               
  11187.                  Users can access the outgoing TELNET service by entering "I" at the main system prompt, then 
  11188.                  selecting "T" from the Internet Services Menu.  Bulletron will then prompt the user for the name or 
  11189.                  address of the remote host to which he wishes to log on.  The user can also save time by entering all 
  11190.                  this information at the main system prompt, as in:
  11191.               
  11192.                  
  11193.               
  11194.                  IT ELIJAH.IBM.COM
  11195.               
  11196.                  or
  11197.               
  11198.                  IT 121.97.41.10
  11199.               
  11200.                  
  11201.               
  11202.                  5.6.3.5.2.  Incoming TELNET Service
  11203.               
  11204.                  The incoming TELNET service allow users at remote sites on the internet to log onto your BBS.  
  11205.                  To set up incoming TELNET service, you must execute the "PL" command and designate some of your 
  11206.                  "lines" as TELNET sessions.  You do this by placing a "T" in the "modem type" for each line that you 
  11207.  
  11208.               
  11209.  
  11210.  
  11211.  
  11212.  
  11213.  
  11214.                  want to use for incoming TELNET calls.  If you want to allow five concurrent TELNET calls, then you 
  11215.                  must specify a modem type of "T" for five different lines.  In the "port" for each of the TELNET lines, 
  11216.                  you can place any number between 1 and 2000 that is not already in use by another line.
  11217.               
  11218.                  5.6.3.5.3.  Using Terminal Servers
  11219.               
  11220.                  An alternative method of providing incoming TELNET service is to connect the serial ports of 
  11221.                  the BBS to terminal servers using null modem cables.  The connections that must be made in the 
  11222.                  null-modem cable are shown in Figure 5.1.3-1.  For these lines, using the "PL" command, you should 
  11223.                  set the modem type to "E", and set the port number as you would for any other serial ports.  Modem 
  11224.                  type "E" is the same as modem type "D", except that it does not wait for the initial carriage return, but 
  11225.                  instead, initiates the logon process whenever carrier is detected.  You may find this method preferable 
  11226.                  when your system has a large number of incoming TELNET sessions, because it takes some of the 
  11227.                  processing load away from your BBS computer  placing it in the terminal server(s).
  11228.               
  11229.                  5.6.3.6.  Internet Mail
  11230.               
  11231.                  This feature has not yet been implemented.
  11232.               
  11233.                  5.6.3.7.  Usenet News
  11234.               
  11235.                  This feature has not yet been implemented.
  11236.               
  11237.                  5.6.3.8.  FTP  Service
  11238.               
  11239.                  This feature has not yet been implemented.
  11240.               
  11241.                  5.6.3.9.  Internet Relay Chat
  11242.               
  11243.                  This feature has not yet been implemented.
  11244.               
  11245.                  5.6.3.10. Worldwide  Web Service
  11246.               
  11247.                  This feature has not yet been implemented.
  11248.               
  11249.                  5.6.4.  E-Mail Gateway
  11250.               
  11251.                  This feature has not yet been implemented.
  11252.               
  11253.                  5.6.5.  Exporting to and Importing from Other Networks
  11254.               
  11255.                  Networking in Bulletron has been designed to send and receive messages at any time of the day 
  11256.                  while other users are online.  In a multi-user environment, particularly with paying subscribers, it may 
  11257.                  be unacceptable to have the BBS terminate to allow networking.  Some systems, however, may want to 
  11258.                  network to non-Bulletron systems and are willing to terminate BBS operation briefly to do this.  It is 
  11259.                  possible to have Bulletron shut down at a specific time, run an external utility to extract messages from 
  11260.                  Bulletron and make individual files, run a "mailing" program to send those messages as files to another 
  11261.                  network, run another utility to load Bulletron messages received from the network, then restart 
  11262.                  Bulletron.  The following is a simple ".BAT" file which would do this:
  11263.               
  11264.                  
  11265.               
  11266.                  :TOP
  11267.               
  11268.                  BBS ALL DOWN0400
  11269.               
  11270.                  IF ERRORLEVEL 25 GOTO MAILER
  11271.               
  11272.                  GOTO END
  11273.               
  11274.                  :MAILER
  11275.               
  11276.                  FROMORA \BBS\FIDO E11         'all echo msgs for E11
  11277.               
  11278.                  FROMORA \BBS\FIDO */* */ORA333 SRC 'all netmsgs for Ora333
  11279.               
  11280.  
  11281.               
  11282.  
  11283.  
  11284.  
  11285.  
  11286.  
  11287.                  DB                  'external mailer program
  11288.               
  11289.                  TOORA \FIDO\NET*.MSG- SYSOP/FIDO1 ALL TCH
  11290.               
  11291.                  TOORA \NET\TOME.TXT SYSOP GUYY PSL "Network mail"
  11292.               
  11293.                  GOTO TOP
  11294.               
  11295.                  :END
  11296.               
  11297.                  EXIT
  11298.               
  11299.                  
  11300.               
  11301.                  Bulletron currently provides two programs, FROMORA and TOORA, to create export and 
  11302.                  import messages.  Additional programs may be available from time to time to accom- modate other 
  11303.                  networks as required.  The following is a description of these programs so you can determine if they 
  11304.                  will work in your network.
  11305.               
  11306.                  5.6.5.1.  FROMORA File Creation Utility
  11307.               
  11308.                  FROMORA is intended to take messages from Bulletron and create disk files from them which 
  11309.                  can then be transmitted to other networks.  The file which is created from FROMORA has the message 
  11310.                  heading information similar to the heading seen when a message is read, followed by the body of the 
  11311.                  message.
  11312.               
  11313.                  FROMORA is controlled by parameters on the command line such as the following:  
  11314.               
  11315.                  
  11316.               
  11317.                  FROMORA  PATHFILENAME  FROMACCT  TOACCT  BOARDABRV
  11318.               
  11319.                  
  11320.               
  11321.                     PATHFILENAME     is the directory where the new files are placed.  Some examples of 
  11322.                       PATHFILENAMEs might be:              
  11323.               
  11324.                               \OUTMAIL   to put all files in directory "OUTMAIL"              
  11325.               
  11326.                               \NET-    to put all files in directory "NET"; the "-" would cause each of the 
  11327.                               messages to be deleted after its file is created.              
  11328.               
  11329.                     FROMACCT    is the 4 to 8 character account code that the messages are from.  It can be 
  11330.                       followed by /"node" to select only messages from a certain Bulletron node.  The 
  11331.                       account code is checked against your user file and, if the account code is found, 
  11332.                       the person's name is placed in the output.  A "*" means get messages "from" all 
  11333.                       accounts.  A "*" in the node means ignore the node when selecting messages.  
  11334.                       Some examples of FROMACCT might be::              
  11335.               
  11336.                               SYSOP/*   get all messages from "SYSOP" and any node.              
  11337.               
  11338.                               GUYY/ORA1   to get all messages from account "GUYY" and node 
  11339.                               "ORA1".              
  11340.               
  11341.                               */*  gets all messages, regardless of "from" account and node.              
  11342.               
  11343.                     TOACCT      is the 4 to 8 character account code that this message is to.  It can be 
  11344.                       followed by /"node" to select only messages to a certain Bulletron node.  The 
  11345.                       account code is checked against your  user file and, if the account code is found, 
  11346.                       the person's name is placed in the output.  A "*" means get messages "to" all 
  11347.                       accounts.  A "*" in the node means ignore the node when selecting messages.  
  11348.                       Some examples of TOACCT might be::              
  11349.               
  11350.                               SYSOP/*   to get all messages to "SYSOP" and any node.              
  11351.               
  11352.                               GUYY/ORA1   to get all messages to account "GUYY" and node "ORA1".              
  11353.  
  11354.               
  11355.  
  11356.  
  11357.  
  11358.  
  11359.  
  11360.               
  11361.                               */*  gets all messages, regardless of "to" account and node.              
  11362.               
  11363.                     BOARDABRV   is the 3 character sub-board abbreviation for the sub-board where the 
  11364.                       messages are to be found.  TOFIDO verifies that such a sub-board does exist.              
  11365.               
  11366.                  Because this program is intended to be run in a batch file and not attended, messages are added to 
  11367.                  the "BBSLOGnn.DAT" file (numbers 5010) to indicate which files have been created and which 
  11368.                  messages have been deleted.
  11369.               
  11370.                  Some examples might be:
  11371.               
  11372.                  
  11373.               
  11374.                  FROMORA \TEMP */* */* GNL
  11375.               
  11376.                  FROMORA \NETTMP- */* */ORA62 SRC
  11377.               
  11378.                  FROMORA \BBS- SYSOP/* */* TCH
  11379.               
  11380.                  FROMORA \TEMP */* GUYY/* PSL
  11381.               
  11382.                  
  11383.               
  11384.                  The first example will get all messages from the "GNL" (General Discussion) sub-board, 
  11385.                  regardless of who they are to, or from, and put them into files in the "\TEMP" directory.  The second 
  11386.                  example will get all messages to anyone on node ORA62, from the "SRC" (Network Source) 
  11387.                  sub-board, regardless of who they are from, put them on the "\NETTMP" directory, and delete them 
  11388.                  from Bulletron after the files are created.  The third example will get all messages from "SYSOP" on 
  11389.                  the "TCH" (Technical Discussion) sub-board, regardless of who they are to, or what node they are 
  11390.                  from, put them in the "\BBS" directory, deleting them from Bulletron as the files are created.  The last 
  11391.                  example will get all of the messages to "GUYY" from the "PSL" (Personal Mail) sub-board, regardless 
  11392.                  of who they are from, and place them in files in the  "\TEMP" directory.
  11393.               
  11394.                  The file names produced by FROMORA have the format "ORAnnnnn.bbb" where "nnnnn" is the 
  11395.                  message number replacing blanks with "X"s for small numbers, and "bbb" is the board abbreviation for 
  11396.                  the board that the message came from.  Header information is included in the file.  If the file already 
  11397.                  exists, it is deleted and overwritten with the new information.
  11398.               
  11399.                  5.6.5.2.  TOORA Message Insertion Utility
  11400.               
  11401.                  This program is the counterpart to FROMORA.  It is intended to take files which have been 
  11402.                  received over another network, and to create a message in the Bulletron message database.  It is 
  11403.                  assumed that the file only contains the message, not header information, so the header information is 
  11404.                  supplied in the TOORA command line.  There may be several executions of this utility for each board 
  11405.                  or type of message that is received.  The mailer program may also produce a batch file with the 
  11406.                  TOORA command lines, one for each message received.
  11407.               
  11408.                  TOORA is controlled by parameters on the command line such as the following:
  11409.               
  11410.                  
  11411.               
  11412.                  TOORA PATHFILENAME FROMACCT TOACCT ABRV SUMMARY
  11413.               
  11414.                  
  11415.               
  11416.                     PATHFILENAME     is the path and filename which can contain "wild card" characters and 
  11417.                       may be followed by a dash to cause the file to be deleted after it has been loaded 
  11418.                       into Bulletron.  Some examples of PATHFILENAMEs might be:              
  11419.               
  11420.                               \BBS\*.TXT    to load all .TXT files from \BBS directory              
  11421.               
  11422.                               NETLIST.DOC    to load only file NETLIST.DOC from the default              
  11423.               
  11424.                               D:\NET\*.LST    load from another drive              
  11425.               
  11426.  
  11427.               
  11428.  
  11429.  
  11430.  
  11431.  
  11432.  
  11433.                               NEWMAIL.NET-    to load file NEWMAIL.NET and delete the file.              
  11434.               
  11435.                     FROMACCT    is the 4 to 8 character account code that originated this message.  It can 
  11436.                       also be followed by /node to include node information also.  The account code 
  11437.                       will be checked against the user file and if it exists, the name will be supplied.  
  11438.                       Some  examples FROMACCT might be::              
  11439.               
  11440.                               SYSOP    to indicate it is from the "SYSOP"              
  11441.               
  11442.                               GUYY/ORA1    to indicate it is from "GUYY" on ORA1              
  11443.               
  11444.                     TOACCTis the 4 to 8 character account code that this message is to, or it can be "ALL".  If 
  11445.                       it is to a specific account, be sure that the sub-board abbreviation which is entered 
  11446.                       next is your "private mail" sub-board.  The account code can be followed by /node 
  11447.                       just like the FROMACCT.  If the TOACCT is found in your user file, then the 
  11448.                       name will be obtained from your user file, and the message will be marked as 
  11449.                       PRIVATE.  If it is a general message to all users, use "ALL" here.              
  11450.               
  11451.                     BOARDABRV   is the 3 character sub-board abbreviation where the message is to be 
  11452.                       placed.  TOORA verifies that such a sub-board does exist in your system.  It will 
  11453.                       not load messages to a nonexistent sub-board.              
  11454.               
  11455.                     SUMMARY          is the message summary which will be placed on the Bulletron 
  11456.                       message.  This field is optional.  It can be up to 32 characters, if present, and 
  11457.                       MUST BE ENCLOSED IN QUOTES ("Such as this").  If  more than one message 
  11458.                       is loaded via wild cards, then the same summary will appear on all the messages.              
  11459.               
  11460.                  Since this program is intended to be run in a batch file and not attended, messages are added to 
  11461.                  the "BBSLOGnn.DAT" file (numbers 5010) indicating what messages have been added, what files 
  11462.                  have been deleted.  Error messages are logged if the file is too big to fit into a single Bulletron message.  
  11463.                  Some examples might be::
  11464.               
  11465.                  
  11466.               
  11467.                  TOORA \TEMP\BB*.H SYSOP ALL GNL "Sample header files"
  11468.               
  11469.                  TOORA \FIDO\NET*.MSG- SYSOP/FIDO1 ALL TCH
  11470.               
  11471.                  TOORA \NET\TONE.TXT SYSOP GUYY PSL "Network mail"
  11472.               
  11473.    
  11474.               
  11475.               
  11476.  
  11477.  
  11478.  
  11479.  
  11480.  
  11481.               6.   Daily Operation
  11482.               
  11483.                    6.1.The Control Window
  11484.               
  11485.                  When Bulletron starts, you are presented with the "Control Window", as illustrated in Figure 
  11486.                  6.1-1.
  11487.               
  11488.                  The first line describes which release of the software you are using and your node number.  The 
  11489.                  next two lines tell you statistics about system usage:
  11490.               
  11491.                     "Calls"     is the total number of calls that the system received today.              
  11492.               
  11493.                     "Time"is the total minutes that the system was being used by users.  Since there are 1440 
  11494.                       minutes in a day, the 3-user system shown above could be used 3 * 1440 or 4320 
  11495.                       minutes total.  The number of calls that the SYSOP logs on and the amount of 
  11496.                       time that the SYSOP is logged on are NOT included in these figures.              
  11497.               
  11498.                     "Callers"   is the number of DIFFERENT users who have called today.  This may differ from 
  11499.                       "Calls" if the same user has called in more than once in that day.              
  11500.               
  11501.                     "Nuser"     is the number of new users who have set up accounts.              
  11502.               
  11503.                     "Vis"is the number of users logging on with the "visitor" feature.              
  11504.               
  11505.                     "Msgs"is the number of new messages entered, and              
  11506.               
  11507.                     "Uplds"     is the number of new files uploaded.              
  11508.               
  11509.                  On the second line:
  11510.               
  11511.                     "Messages"  is the total number of messages in the message file including help messages etc..              
  11512.               
  11513.                     "Accounts"  shows you two numbers.  The first number is the total number of accounts in the 
  11514.                       user file including system operator accounts.  The second number is the number of 
  11515.                       paid subscriber accounts on your system.  These numbers are recomputed once 
  11516.                       each day when the system purges dead accounts and messages.              
  11517.               
  11518.                     "CPS"is the average characters per second that the system transmitted or received over 
  11519.                       the last ten seconds.              
  11520.               
  11521.                     "TPS"is the  average  number of task switches per second that the BBS program did over 
  11522.                       the last ten seconds.  If there  is no one logged onto your system or all the logged 
  11523.                       on users are waiting at a prompt for the last ten seconds, then this figure will be a 
  11524.                       little more than twice the number of phone lines for which your system is 
  11525.                       configured.  If the system is actively being used, however, this number should be 
  11526.                       above 2000.  If it is less than 2000 when two or more users are active, then this 
  11527.                       may be an indication that you need to upgrade to a faster computer.              
  11528.               
  11529.                     "In Use"    is the number of users that are currently logged on.  This may seem obvious from 
  11530.                       looking at the lower part of the screen, for systems with ten phone lines or less, 
  11531.                       but for systems with hundreds of phone lines, the number of lines in use at any 
  11532.                       moment is difficult to determine without this number.              
  11533.               
  11534.                     timeThe final number on the second line is the current time of day.  If you look at this 
  11535.                       and see it is grossly in error, this may be an indication that your system has 
  11536.                       crashed and must be rebooted.              
  11537.               
  11538.                  The middle part of the Control Window shows each line, who IS on, who WAS on, or the system 
  11539.                  status.  When a user is online, the Control Window shows what his account, what board he is on, what 
  11540.                  command he is performing, if any, part of his name and location, when he logged on, the flags set in his 
  11541.                  account, and his access level.  If a user calls the SYSOP with the /SYSOP command in chat, his line 
  11542.                  will display in reverse video until he logs off or the SYSOP goes into SYSOP chat with him.  If a 
  11543.                  modem is not started, the line will be in high intensity.  If a modem error occurs, the  line will blink in 
  11544.                  high intensity.  
  11545.               
  11546.                  A partial menu of functions that can be performed from the Control Window is displayed.  For a 
  11547.  
  11548.               
  11549.  
  11550.  
  11551.  
  11552.  
  11553.  
  11554.                  complete list of functions, enter a question mark (?)  at the prompt.  These are the functions that can be 
  11555.                  performed from the Control Window:
  11556.               
  11557.                      A        (unlisted option) Start all phone lines.  This is also performed by entering 
  11558.                      "ALL" as a parameter when the system is started.              
  11559.               
  11560.                      B        Broadcast a message to all users.  This allows you to send a message to all 
  11561.                      users similar to the "CA ALL" command in chat.  It is useful to announce that 
  11562.                      the system will be shut down for backup or other reasons that the SYSOP 
  11563.                      wants to broadcast to those users who are online.  After entering "B", 
  11564.                      Bulletron prompts you for the message to broadcast.  It also prompts you for 
  11565.                      the account code of the user to whom you want to send the message.  If you 
  11566.                      just press ENTER at the second prompt, then the message will be sent to 
  11567.                      every  user that us currently logged on.              
  11568.               
  11569.                      C        SYSOP available to chat.  When a user calls the system operator to chat with 
  11570.                      either the "C" or "/SYSOP" command, the system will normally inform the 
  11571.                      user that the "SYSOP is not available to chat at this time".  This does not 
  11572.                      happen if "C" is entered or the system is started with the  "CHAT" parameter 
  11573.                      to tell the system that the SYSOP is available.  The "C" command here 
  11574.                      toggles "sysop available" mode.  The third line of the Control Window will 
  11575.                      display "SYSOP CHAT" if SYSOP available mode is active.  If the SYSOP 
  11576.                      is available, then when he logs on (unless he logs on with /invisi option) he 
  11577.                      will be visible to other users.  If this option is OFF, the SYSOP will default to 
  11578.                      INVISIBLE when  he logs on.              
  11579.               
  11580.                      D        Disconnect user on 1 line.  This is a quick way to terminate a user session for 
  11581.                      any reason.              
  11582.               
  11583.                      E        (unlisted option) Emergency, another earthquake!  Forget about the modems 
  11584.                      and logging off users, close the files and shut down right now!  *** NOTE:  
  11585.                      NEVER, EVER use CTRL/ALT/DEL, press a hardware reset button or turn 
  11586.                      off power to the computer while Bulletron is running.  Bulletron caches most 
  11587.                      of its disk writes and does not flush its buffers until you shut down the 
  11588.                      system.  Turning off power without using a proper shutdown from the 
  11589.                      Control Window will always corrupt your disk files.  Although the files can 
  11590.                      usually be rebuilt using utility programs that we provide to you, sometimes 
  11591.                      they can not.  Be careful, if the operating system gives you an "ABORT, 
  11592.                      RETRY, IGNORE, FAIL?" prompt while Bulletron is running, that you 
  11593.                      NEVER select "ABORT".              
  11594.               
  11595.                      F        (unlisted option) Fast page select - if you are running a BBS with a large 
  11596.                      number of phone lines, say 200 or more, it can be an inconvenience to be 
  11597.                      continually typing PgUp or PgDn to get to the page where the status of a 
  11598.                      particular phone line is displayed.  Using this function, you can move quickly 
  11599.                      to any group of ten phone lines in the Control Window status display.  Page 
  11600.                      zero shows status for lines 1 through 10.  Page one shows status for lines 11 
  11601.                      through 20, and so forth.              
  11602.               
  11603.                      G        (unlisted option) Shut down the lines like the "L" function as users log off, 
  11604.                      but take the phone off hook rather than just not answering.              
  11605.               
  11606.                      I        (unlisted option) SYSOP chat entry message - If you are monitoring a user's 
  11607.                      session, and want to interrupt the user and enter a private chat with him, then 
  11608.                      you can type CTRL/O and you will immediately enter private chat with the 
  11609.                      user.  As the user enters private chat, he sees a message saying, "You are 
  11610.                      speaking to the SYSTEM OPERATOR."  This function allow you to replace 
  11611.                      "the SYSTEM OPERATOR" with your name.              
  11612.               
  11613.                      J        (unlisted option) Jump to last new user - Many system operators find it really 
  11614.                      helps first time callers if a live operator monitors their first session and jumps 
  11615.                      in with private chat using CTRL/O when the user seems to be lost.  On a 
  11616.                      system with hundreds of phone lines, receiving five or six new users each 
  11617.                      hour, it can be difficult to find the first time callers.  This function 
  11618.                      immediately brings the session of the last first time caller to the foreground 
  11619.                      so you can monitor his session.              
  11620.  
  11621.               
  11622.  
  11623.  
  11624.  
  11625.  
  11626.  
  11627.               
  11628.                      L        (unlisted option) Shut down those lines that are not already in use.  This will 
  11629.                      not terminate a user, but will shut the line down as soon as the user logs off.  
  11630.                      Pressing any key will cancel the shut down  so that you can use "B" to 
  11631.                      broadcast another message to users still online if necessary.  When all users 
  11632.                      have logged off, the system will shut down with no answer, not off hook.              
  11633.               
  11634.                      M        (unlisted option) SYSOP mail status - This function allows you to quickly see 
  11635.                      whether or not you have private mail waiting without taking the time to log 
  11636.                      on.              
  11637.               
  11638.                      N        (unlisted option) Shut down system w/no answer.  This will shut the BBS 
  11639.                      down and log off any user who is still online.  If a user calls in after the 
  11640.                      system is shut down, the phone will ring with no answer.              
  11641.               
  11642.                      O        (unlisted option) Shut down one line only with no answer.  This is used to 
  11643.                      prevent the modem from responding while you use that telephone line for 
  11644.                      another purpose.              
  11645.               
  11646.                      P        (unlisted option) Show Line/Port Status and reset the line.  Used only for  
  11647.                      diagnostics.              
  11648.               
  11649.                      Q        Shut down system w/busy.  This will shut the BBS down just like the "N" 
  11650.                      function, but if a user calls in after the system is shut down, then the phone 
  11651.                      will still be off hook and the user will get a busy signal.              
  11652.               
  11653.                      R        (unlisted option) Repaint the Control Window.              
  11654.               
  11655.                      S        (unlisted option) Start one line only.  Use this if you only want to start one 
  11656.                      particular phone line.              
  11657.               
  11658.                      T        (unlisted option) Test the computer speed.  This will run a test of raw 
  11659.                      compute power of the computer.  After pressing T, wait about ten seconds 
  11660.                      and notice the tasks/second on line 2 of the Control Window.  The 
  11661.                      tasks/second is some measure of system capacity relative to other computers.  
  11662.                      Pressing any key will terminate the test.              
  11663.               
  11664.                      U        Display line usage statistics.  See section 6.1.2, "Line Usage Statistics" for a 
  11665.                      detailed description.              
  11666.               
  11667.                      V        Reset idle lines.  This will remove the right half of the status lines, which 
  11668.                      shows the last user and time of last call.  This can help you quickly see which 
  11669.                      lines are not being used often.              
  11670.               
  11671.                      W        (unlisted option) This function prompts you for an account code, then opens a 
  11672.                      window showing you what you would see if you were logged on and did a 
  11673.                      "WA" command for that account.              
  11674.               
  11675.                      X        Stop and busy out 1 line only.  Use this if you need to disable one specific 
  11676.                      line for some reason.  Bulletron will prompt you for the line number to stop.              
  11677.               
  11678.                      Y        (unlisted option) If someone has executed a command to page the system 
  11679.                      operator, this function will bring that user's session to the foreground and 
  11680.                      initiate a private chat as if you had typed CTRL/O.              
  11681.               
  11682.                      Z        (unlisted option) Manually blank the screen to prevent monitor burnin.  
  11683.                      Manual screen saver.              
  11684.               
  11685.                      ?        Display the that do not have the space to display while showing all the users.              
  11686.               
  11687.                      =        Allow the SYSOP to manually force networking to a specific node.  
  11688.                      Bulletron will prompt for the phone line to dial out on and the node number 
  11689.                      to dial.  Forcing manual networking always goes into network chat, so the 
  11690.                      sysop must control-K to abort network chat if desired.  Once a network 
  11691.                      connection has been established, Bulletron will NOT dial out automatically to 
  11692.                      that system again on the same day.  Multiple manual networking attempts can 
  11693.  
  11694.               
  11695.  
  11696.  
  11697.  
  11698.  
  11699.  
  11700.                      be done, but automatic will be inhibited that day for that specific node to 
  11701.                      avoid multiple calls when the messages have already been picked up.              
  11702.               
  11703.                  You can monitor a specific user's session, by using the F-keys on your computer's console 
  11704.                  keyboard.  F1 displays line 1, F2 shows line 2, and so forth.  You can split the screen to show monitor 
  11705.                  multiple sessions at the same time by, pressing Fn to show line n, then Alt-Fy to ADD the window for 
  11706.                  line y to the one(s) already displaying.  Up to ten sessions can be displayed at one time.  To return to the 
  11707.                  Control Window, press your HOME key.  Holding down the CTRL key while you type an F-key brings 
  11708.                  the user's session into the foreground in the lower part of the screen so that you can still watch the status 
  11709.                  of the other nine lines for that page, while watching detailed activity on one particular line.
  11710.               
  11711.                  If you, the system operator, want to log on locally, then press the function key for the line that 
  11712.                  you want to use (usually the last line, the one without a modem), and then type CTRL/K or ESC to 
  11713.                  actually log on just as a user would by way of the modem.
  11714.               
  11715.                  As the SYSOP, you can also access the Control Window commands remotely using the "Y" 
  11716.                  command.  If you shut the system down remotely using the L, N, or Q commands, then you will have to 
  11717.                  physically go to the computer and restart it.
  11718.               
  11719.                  As the SYSOP, you can monitor any session remotely.  Use the "Y" command to display the 
  11720.                  Control Window remotely, then enter "F" and the line number that you want to view.  Pressing 
  11721.                  CTRL/K returns the SYSOP to his own window.  
  11722.               
  11723.                  6.1.1.  Special Control Window Hot-Keys
  11724.               
  11725.                  Control keys are entered by holding down the key marked [Ctrl] on your keyboard while typing 
  11726.                  an alphabetic key.  Thus, CTRL/K is entered by holding down the [Ctrl] key and pressing "K".  
  11727.                  Similarly, Alternate keys are entered by holding down the key marked [Alt] and typing the associated 
  11728.                  key.
  11729.               
  11730.                      [CTRL/O] Breaks into the middle of a user's session for SYSOP chat mode.  "SYSOP 
  11731.                      chat mode" is the condition when the user and the SYSOP are in direct 
  11732.                      communication typing to each other.  If you enable SYSOP chat mode, then 
  11733.                      users can ring you by issuing a "C" command.  You respond by pressing the 
  11734.                      appropriate "Fn" key to bring the calling user's window to the foreground on 
  11735.                      your console, then typing CTRL/O to break into the user's session.  You can 
  11736.                      also break in without being called, but you should use this judiciously, as it 
  11737.                      can be an unnerving experience for new users. [CTRL/K] exits sysop chat 
  11738.                      mode back into normal user mode.  This only functions after the user has 
  11739.                      finished logging on.  You cannot break into chat mode while a new user is 
  11740.                      setting up an account.              
  11741.               
  11742.                      [CTRL/Y] To cause carrier loss and immediately disconnect whoever is logged on.              
  11743.               
  11744.                      [HOME]   Returns the Control Window to the foreground on your console.              
  11745.               
  11746.                      [F1 - Fn]    Allows you to view the activity on a particular line.  If your system has more 
  11747.                      than 10 phone lines, then you can use PgDn to move 10 lines down, and 
  11748.                      PgUp to move 10 lines up.              
  11749.               
  11750.                      [Alt-F1 - Alt-Fn]Allows you to split your console screen so that you can monitor two or more 
  11751.                      users simultaneously.  A user window, not the Control Window, must be 
  11752.                      displaying before you can add another window to the display.  If you wanted 
  11753.                      to watch lines 1, 2, and 3, for example, press F1 then Alt-F2 then Alt-F3 to 
  11754.                      show all three windows simultaneously.  To go back to only one window, 
  11755.                      press HOME or Fn.              
  11756.               
  11757.                      [Ctrl-F1 - Ctrl-Fn]Allows you to split your console screen so that you can see the ten status 
  11758.                      lines of the Control Window, while monitoring the detailed activity on one 
  11759.                      specific line.  A partial window opens for the specific line that covers the 
  11760.                      Control Window function menu on the bottom ten lines of the screen.  To go 
  11761.                      back to the Control Window, press HOME.              
  11762.               
  11763.                      [Z]      Screen saver activation key.  This will turn off the  screen saver or turn on the 
  11764.                      screen saver, depending on its current state.  This can be overridden by the 
  11765.                      "SSn" parameter when starting Bulletron.  The value "n" indicates how long, 
  11766.  
  11767.               
  11768.  
  11769.  
  11770.  
  11771.  
  11772.  
  11773.                      in minutes, before the screen saver activates and blanks the screen.  A value 
  11774.                      of zero disables the Screen Saver option.              
  11775.               
  11776.                  6.1.2.  Line Usage Statistics
  11777.               
  11778.                  The "U" subcommand, either from local Control Window or the remote display of the Control 
  11779.                  Window using the "Y" command, displays statistics about the usage of your phone lines.  The display 
  11780.                  looks similar to this:
  11781.               
  11782.                  
  11783.               
  11784.                  Lines                    1         2       3     4     5      6      7     8     9   10
  11785.               
  11786.                  Min/line              20    150    79   68   26   53      0     0     0     0
  11787.               
  11788.                  Min in use       214   117    73    30     5      0     0     0     0     0
  11789.               
  11790.                  
  11791.               
  11792.                  HOUR:   12       1     2       3      4      5      6      7     8       9   10   11    12
  11793.               
  11794.                  AM        134 100      0      0      0      0    60   75 150 180 240 350 375
  11795.               
  11796.                  PM        400 450 500 525 600 650 700 640 610 525 400 310 200
  11797.               
  11798.                  
  11799.               
  11800.                  The first line shows the number of phone lines in your configuration.  The "Min/line" line shows 
  11801.                  the number of minutes a user was on each line.  If your phone lines are in "hunt group" and users 
  11802.                  always call the "pilot" number on line 1, then the numbers will be in decreasing order since line 1 will 
  11803.                  get the most usage.  If users do not call the pilot number such as when you have a 2400 Baud line 
  11804.                  separate, the time will not be in any particular order, but you can determine how much time is spent on 
  11805.                  the 2400 Baud line.  The "Min in use" line tells you how many minutes at least one line was in use, two 
  11806.                  lines, and so forth.  In the above example, at least one line was in use for 214 minutes during the day, 
  11807.                  two lines were in use 117 minutes during that day, etc..  The "Min/line" and "Min-in-use" counters are 
  11808.                  reset at midnight or can be reset manually by using the "PXC" command.  The three lower lines contain 
  11809.                  counts of the number of online minutes spent in each hour of the day.  The first of these three is just a 
  11810.                  set of headings to help you see which hour is represented by each column.  The first value of the second 
  11811.                  line is a count of the number of online minutes used between midnight and 1:00 AM.  The last value of 
  11812.                  the third line is a count from 11:00 PM to midnight.  These numbers are reset at each new hour, so at 
  11813.                  5:00 PM the 6:00 PM value is from the prior date.  The entire 6 lines are written to your system log file 
  11814.                  every night at midnight also.  The purpose of these statistics is to give you management information 
  11815.                  about when the system is the busiest and when to add additional phone lines.  
  11816.               
  11817.                  The maximum number for any hour is number of phone lines multiplied by 60 (minutes/hour).  If 
  11818.                  you find that your usage is close to the maximum during certain hours, you may want to consider 
  11819.                  getting an additional line.  Experience has shown, however, that the best time to add a phone line to 
  11820.                  your system is when your total minutes used per day exceeds one third of the total minutes available 
  11821.                  per day.  For example, if you have four telephone lines, the maximum number of minutes your system 
  11822.                  can be in use per day is 5,760.  When a review of your system log shows that your total daily usage has 
  11823.                  averaged more than 1,920 minutes per day, then you should add another phone line, because you will 
  11824.                  be losing customers on account of busy signals.
  11825.               
  11826.                    6.2.The System Log File
  11827.               
  11828.                  The log file, "BBSLOGmm.DAT" (where "mm" is the month), contains a record of when each 
  11829.                  user logs on, the counts of the number of calls and time used on each line for each day, and a record of 
  11830.                  any errors that the system encounters.  The format of  the file is a printable ASCII file.  You should 
  11831.                  look at it periodically to see if there are any system errors or messages that you need to know about.  
  11832.                  The format is fixed so that the date/time, message number, user account code, etc.., are always in the 
  11833.                  same positions on the line.  This allows you to write some of your own utility programs in BASIC, 
  11834.                  dBase, or whatever language you like, to manipulate the data.  Since this file is constantly having 
  11835.                  information appended to it, it can grow to be very large.  You should copy it on to a floppy disk and 
  11836.                  delete it from the hard disk (using the DOS "DEL" command) when you do your normal weekly 
  11837.                  backup.
  11838.               
  11839.  
  11840.               
  11841.  
  11842.  
  11843.  
  11844.  
  11845.  
  11846.                  The log contains many different types of records.  An option within the BBUTIL2 program will 
  11847.                  produce a series of reports from the log data, or you can write your own analysis program.  The user 
  11848.                  record contains some fields that need to be explained.  A user record may look like this:  
  11849.               
  11850.                  
  11851.               
  11852.                  12/24/87 08:50 0021 SESSION ABCDEFGH 12/24/87 08:23 650 12 27 623 A 1
  11853.               
  11854.                  
  11855.               
  11856.                  This means that account "ABCDEFGH" logged on at 8:23 on 12/24, logged off at 08:50, had 650 
  11857.                  minutes in his subscriber account when he logged on, called in at 1200 Baud, was online 27 minutes, 
  11858.                  had 623 minutes in his subscriber account when he logged off, and he was using ANSI graphics.  The 1 
  11859.                  indicates his call came in on telephone line 1. This provides an audit trail of subscriber time.  
  11860.               
  11861.                    6.3.User and File Management
  11862.               
  11863.                  The system operator can modify or delete accounts remotely as well as locally.  This is done with 
  11864.                  a special command available only to SYSOPs and assistant SYSOPs.  From the main system prompt, 
  11865.                  simply enter "+" and the system will prompt you for an account to modify, or enter
  11866.               
  11867.                      "+ ACCT" where "ACCT" is the account code to modify,              
  11868.               
  11869.                      "+ ALL"  or those commands that affect all accounts, or              
  11870.               
  11871.                      "+n ACCT"    where "n" is one of the options listed below.              
  11872.               
  11873.                  The "+" command can also be entered at the end of reading a message to alter the account of the 
  11874.                  user listed in the FROM account of that message.  This allows the SYSOP to change a user's account 
  11875.                  without exiting the read command and doing a separate "+" command.  Figure 6.3-1 shows the System 
  11876.                  Management Command Menu, with detailed descriptions of each command listed below.
  11877.               
  11878.               
  11879.  
  11880.  
  11881.  
  11882.  
  11883.  
  11884.                      0        Change account code.  This allows you to change the account code of any 
  11885.                      user (except yourself), without logging on as that user.  A warning is given if 
  11886.                      personal mail to or from the account you are changing exists.  If you change 
  11887.                      an account code without first deleting all its mail, and some new user happens 
  11888.                      to select that account code when he logs on, then he will receive all of the 
  11889.                      orphaned mail.  This function will not be executed if the account you want to 
  11890.                      change is currently logged onto the system.  If you are executing this function 
  11891.                      remotely, you can use the "Y" command to disconnect a user before changing 
  11892.                      his account code.              
  11893.               
  11894.                      1        Delete the account.  You will be asked to verify that you do want to delete the 
  11895.                      account before proceeding.  Once an account is deleted, it cannot be restored 
  11896.                      (unless you had the appropriate backup option, but that is a time consuming 
  11897.                      process).  Note:  you will not need to return to the menu and select "S" to 
  11898.                      save changes after executing this function.              
  11899.               
  11900.                      2        Set the access level.  This allows you to set the access level on any account.  
  11901.                      BE SURE THAT YOU DO NOT SET THE ACCESS LEVEL BELOW THE 
  11902.                      ACCESS LEVEL OF ALL BOARDS.  If you set the access level greater than 
  11903.                      or equal to that of a subscriber and there is no time in the user's account, 
  11904.                      Bulletron will assume that he is a subscriber who has let his account expire 
  11905.                      and will automatically reduce his access level temporarily (it will not alter his 
  11906.                      record, just the session limit) to the  default.  Therefore, do not set a 
  11907.                      nonsubscriber to an access level as high as a subscriber.  If the user's access 
  11908.                      level is ZERO, Bulletron will send the user the FREELOAD message and 
  11909.                      disconnect him, regardless of how much time is left in his subscription.              
  11910.               
  11911.                      3        Set the SIGs.  This allows you to change the list of SIGs (Special Interest 
  11912.                      Group sub-boards) available to that user.  Note that this is a 30 character 
  11913.                      string: 10 SIGs and each SIG is identified by its 3-character sub-board 
  11914.                      abbreviation.  To add, change, or delete a SIG, you must type in all the 
  11915.                      characters again.  You can use the wild card character "?" as part of the SIG.  
  11916.                      For example, "AB?" gives the user access to any SIG sub-board whose 
  11917.                      abbreviation begins with "AB". "A??" gives the user access to any SIG 
  11918.                      beginning with "A". "???" gives the user access to any SIG.  Entering two 
  11919.                      asterisks and a group number (such as "**S") gives the use access to all the  
  11920.                      SIGs in that group.  (See the discussion about groups in the "PB" command).  
  11921.                      Note that Bulletron checks the access level BEFORE checking the SIG level.  
  11922.                      So even if a user has a SIG listed in his SIGlist, he cannot access that 
  11923.                      sub-board unless his access level is also high enough to access that sub-board.  
  11924.                      If you want users to  have access to SIGs REGARDLESS of access level, just 
  11925.                      set the access level for that sub-board to zero.              
  11926.               
  11927.                      4        Set user flags.  Each user record contains 10 characters for flags. Only the 
  11928.                      letters listed below are currently used by the system.  The other letters and 
  11929.                      numbers are not currently used by the system so they can be set to anything 
  11930.                      by the SYSOP.  For example, you may want to set a flag to "N" if you 
  11931.                      received a bad check from a user to warn you not to take checks from him 
  11932.                      again.  Like the SIGs above, this is a 10 character string so adding, changing, 
  11933.                      or deleting a flag requires you to enter all the characters again. The following 
  11934.                      flag characters are reserved for specific purposes:              
  11935.               
  11936.                               A    Turn off billing.  Do not charge the subscriber or deduct anything 
  11937.                               from his account (only applicable if he subscribes by cents or 
  11938.                               minutes.              
  11939.               
  11940.                               B    Bulletron will play a high pitch beep for 1/10 second to tell the 
  11941.                               SYSOP when this user logs on.              
  11942.               
  11943.                               C    The account is a company account.  Multiple instances of this 
  11944.                               account may be logged on simultaneously and users of  this account 
  11945.                               are not permitted to use the "N" command to change any of the 
  11946.                               account's settings.              
  11947.               
  11948.                               D    Suspend download/upload ratio checking for this account.              
  11949.               
  11950.  
  11951.               
  11952.  
  11953.  
  11954.  
  11955.  
  11956.  
  11957.                               H    Mark any messages added by this user or any messages with 
  11958.                               comments added by this user as HOLD until the sysop can review 
  11959.                               and release them.              
  11960.               
  11961.                               I    Make this account invisible when it logs on.  This is most useful for 
  11962.                               networking accounts.              
  11963.               
  11964.                               M    Bulletron will NOT prompt the account for any matchmaking 
  11965.                               questionnaires.              
  11966.               
  11967.                               S    Give the account full system operator privileges.  Note that, though 
  11968.                               assistant SYSOPs (ASYSxxxx accounts) are allowed to use the "+" 
  11969.                               command and change flags on accounts, the system will NOT allow 
  11970.                               them to put an "S" flag on any account.              
  11971.               
  11972.                               O    If you place this flag on an account whose account code is of the 
  11973.                               form "nnnnnORA", where "nnnnn" is a network node number, then 
  11974.                               this account will be allowed to use the "+C" command to change 
  11975.                               the last logon date and time for account "ORAnnnnn".  This option 
  11976.                               is provided to allow the system operator of a remote node to reset 
  11977.                               the networking account for his system without giving him full 
  11978.                               system operator privileges.              
  11979.               
  11980.                               P, Y reserved for custom versions.              
  11981.               
  11982.                               V    The account has been "verified" and shows a "V" next to the user's 
  11983.                               description.              
  11984.               
  11985.                               Z    Prevent the account from executing the "/CALL ALL" command.              
  11986.               
  11987.                               Other characters may have meaning in the future.  Numbers, however, will 
  11988.                               never be used so you may use those for your own purposes.
  11989.               
  11990.                      5        Change the password.  At times, you may need to lock a user off the system.  
  11991.                      If you delete the account, he could log back on and setup the account again.  
  11992.                      By changing the password on his account, you can prevent him from logging 
  11993.                      on under that account.  If you have the account purge logic turned on, the  
  11994.                      account may be deleted after one month anyway.  This could also be used if 
  11995.                      the user forgets his password and you want to set up a new password for him 
  11996.                      rather than tell him the old password.              
  11997.               
  11998.                      6        Change minutes-on-today.  The system records how much time a user was on 
  11999.                      per day over several logon sessions.  If the time exceeds the maximum 
  12000.                      defined in the system parameters, then the user will not be able to log on until 
  12001.                      the next day.  The SYSOP can change the amount of time on today for a user 
  12002.                      thereby allowing the user to be on longer or be on less depending on the value 
  12003.                      set by the system operator.  Bulletron will prompt for prime and nonprime 
  12004.                      minutes.              
  12005.               
  12006.                      7        Remove a questionnaire.  This can function for a specific account or all 
  12007.                      accounts.  If you want to force a user to reanswer a questionnaire, delete it 
  12008.                      here and he will be prompted to answer it again the next time he logs on.  If 
  12009.                      you change the questionnaire, you will want to delete all the questionnaires 
  12010.                      for that board to force all users to reanswer it.  The system will prompt you 
  12011.                      for the sub-board abbreviation so that it knows which one you want deleted.  
  12012.                      To delete all user replies after changing the questionnaire, enter ALL rather 
  12013.                      than a specific account code.  Note:  you will not need to return to the menu 
  12014.                      and select "S" to save changes after executing this function.              
  12015.               
  12016.                      8        Change upload/download counts.  If a SYSOP is using a download/upload 
  12017.                      quota and the user uploads a garbage file to be able to download more, the 
  12018.                      sysop can reduce his upload count or increase his download count to correct 
  12019.                      the situation.  Note that the upload count is used in the calculation of the 
  12020.                      status index on the users "WI" line. (Status index is the sum of the number of 
  12021.                      public message, public comments, and two times the number of uploaded 
  12022.                      files.)  The count is the number of kilobytes of data transferred, not the 
  12023.  
  12024.               
  12025.  
  12026.  
  12027.  
  12028.  
  12029.  
  12030.                      number of files.              
  12031.               
  12032.                      9        New verify quest flag:  Set to "N" if you want the user to reanswer the verify 
  12033.                      questionnaire, or set to "Y" if you do not want the user to have to answer it.  
  12034.                      Bulletron sets this field to "Y" when the questionnaire has been answered.              
  12035.               
  12036.                      A        Set cents-remaining.  If you are using subscriber logic by cents or minutes, 
  12037.                      then enter the amount of money that the user advances you here in cents.  If 
  12038.                      the user gives you $25.00, enter 2500 and the money will be deducted from 
  12039.                      here when he logs off.  NOTE:  THE SYSTEM DEDUCTS MONEY FROM 
  12040.                      HIS ACCOUNT ONLY WHEN HE LOGS OFF OR HANGS UP.  IF THE 
  12041.                      SYSTEM CRASHES, IT WILL NOT CHARGE HIS ACCOUNT.  This field 
  12042.                      can also be used to define MINUTES if the subscribers are being charged by 
  12043.                      minutes  rather than cents.              
  12044.               
  12045.                      B        Set paid-to-date.  If you are using subscriber logic by date, enter the date that 
  12046.                      the user's account will expire, in the format "YYMMDD".  If he logs on after 
  12047.                      that date, the system will not recognize him as a subscriber.              
  12048.               
  12049.                      C        Set MSG Lastlogon date/time.  The message lastlogon date/time 
  12050.                      (YYMMDDHHMM format) determines what messages will display to the 
  12051.                      user with an "RL" or "SL" command.  It is sometimes useful for a network 
  12052.                      node account to reset the message lastlogon date/time to a different date and 
  12053.                      time to force prior echo messages to be retransmitted.              
  12054.               
  12055.                      D        Set the user's "class" code.  "Class" code on each user is an expanded "board 
  12056.                      separation".  It allows up to 36 classes, "A" - "Z" and "0" - "9".  If a user's 
  12057.                      class is not a space character, the user will not show to users of a different 
  12058.                      class.  This provides even more separation than the board separation logic, 
  12059.                      which still exists for ease of use and compatibility with older versions.  Use 
  12060.                      BBUTIL2 option "B" to reset all classes to nulls. Enter any invalid character, 
  12061.                      such as a character less than "0" or greater than "Z", like "*" for example, to 
  12062.                      delete the user's class code.  A class of "?" will allow any user to see the user 
  12063.                      with "?", and will allow the user with "?" to see any user.  The "SYSOP" 
  12064.                      account should be set for this class.              
  12065.               
  12066.                      E        Change the user's city and state.  If you happen to notice that the user 
  12067.                      misspelled the name of his city and/or state, you can fix them without having 
  12068.                      to log on as the user.              
  12069.               
  12070.                      F        File management by path-id allows the system operator or an assistant 
  12071.                      SYSOP to use the following functions.              
  12072.               
  12073.                               1    List subdirectories for each sub-board              
  12074.               
  12075.                               2    List path-id codes              
  12076.               
  12077.                               3    Modify the download database entry              
  12078.               
  12079.                               4    Show true directory for a path-id              
  12080.               
  12081.                               5    Update the database from actual files in directory              
  12082.               
  12083.                               6    Copy a file from one path to another (or across drives)              
  12084.               
  12085.                               7    Move/rename a file within a path on the same drive              
  12086.               
  12087.                               8    Delete a file within a path              
  12088.               
  12089.                               9    Add a new file into a subdistrict.  This will copy from one directory 
  12090.                               (or from the floppy disk) to another directory and update the 
  12091.                               download database of the destination with the size and description 
  12092.                               as well.  The source and destination directory must not be on the 
  12093.                               same path.              
  12094.               
  12095.                               See the section on "Creating and Maintaining Shareware Libraries" for 
  12096.  
  12097.               
  12098.  
  12099.  
  12100.  
  12101.  
  12102.  
  12103.                               further details on the "+F" command.  Note:  you will not need to return to 
  12104.                               the menu and select "S" to save changes after executing this function.  The 
  12105.                               "+F" functions can not be used to operate on any files  in the directory from 
  12106.                               which the BBS is started.
  12107.               
  12108.                      G        Change a user's session controls.  This is useful if the user accidentally sets 
  12109.                      his session controls (with the "N" command, option "5" ) to add nulls and his 
  12110.                      session is running very slowly. The SYSOP can then change the user's 
  12111.                      session controls without having to log on with the user's account.  When 
  12112.                      changing the session controls, the way it is currently set is listed as the 
  12113.                      default. ([Y]/N means that question is currently set to Y and pressing enter 
  12114.                      will keep that setting at Y).  The actual bits in this flags word are:              
  12115.               
  12116.                               0x0001   enable screen pauses              
  12117.               
  12118.                               0x0002   initial command R instead of S              
  12119.               
  12120.                               0x0004   show menus before main command prompt              
  12121.               
  12122.                               0x0008   show board introductions              
  12123.               
  12124.                               0x0010   prompt for "next sub-board" if no msgs              
  12125.               
  12126.                               0x0020   chat shell for novices              
  12127.               
  12128.                               0x0040   confirm delete of messages              
  12129.               
  12130.                               0x0080   block "/C ALL" commands              
  12131.               
  12132.                               0x0100   do WO LONG during logon              
  12133.               
  12134.                               0x0200   disable hotkeys              
  12135.               
  12136.                               0x0400   do not erase pause line              
  12137.               
  12138.                               0x0800   disable random messages              
  12139.               
  12140.                               0x1000   do an "FC" command during logon              
  12141.               
  12142.                               0x2000   disable all graphics              
  12143.               
  12144.                               0x8000   help flags have been set              
  12145.               
  12146.                               Use this table when trying to interpret the help flags displayed by the "WA" 
  12147.                               command.
  12148.               
  12149.                      H        reserved for a possible "help" option.              
  12150.               
  12151.                      I        This option sets the user's Kbytes uploaded, Kbytes downloaded, public 
  12152.                      message count, private message count, and public message count to zero.  
  12153.                      This clears the user's "status index".              
  12154.               
  12155.                      J        Change the user's name.  If the user misspells his name, or  puts something 
  12156.                      for his name or handle that you find objectionable, then you can correct it 
  12157.                      without having to log on as the user.  "Manuel Noriega" logged onto our tech 
  12158.                      support system once.  It was obvious that whoever he was, the poor soul 
  12159.                      apparently misspelled his name because Noriega was holed up in a church at 
  12160.                      the time.              
  12161.               
  12162.                      K        Return to the main system prompt.  Changes made to user accounts will NOT 
  12163.                      be saved if you exit by this method.              
  12164.               
  12165.                      L        Change the user's personal description.  If the user has misspelled some word 
  12166.                      in his personal description, or used some word that you find objectionable, 
  12167.                      then you can change his personal description without having to log on using 
  12168.                      his account.              
  12169.  
  12170.               
  12171.  
  12172.  
  12173.  
  12174.  
  12175.  
  12176.               
  12177.                      N        Read through all the message keys and show the number of  messages on 
  12178.                      each sub-board.  Note:  you will not need to return to the menu and select "S" 
  12179.                      to save changes after executing this function.              
  12180.               
  12181.                      O        Add cents or minutes to user's account.  This option is similar to "+A", except 
  12182.                      that it is a little easier to use if you don't have a calculator handy;  you just 
  12183.                      enter the amount of the subscriber's purchase and Bulletron adds it to his 
  12184.                      cents/minutes remaining.              
  12185.               
  12186.                      Z        Display directory.  If the "Z" is not followed by a parameter, then a directory 
  12187.                      of all files in the default directory are displayed.  If the "Z" is followed by a 
  12188.                      parameter, then all those files in the parameter directory are displayed.  For 
  12189.                      example: "Z *.NEW" or "+Z *.DAT" from the main system prompt.  You can 
  12190.                      get a list of the files in any directory by prefixing the path such as "Z 
  12191.                      \BBS\DOWNLOAD\*.*".  After listing the files, this function shows the 
  12192.                      remaining free disk space on drive.  Note:  you will not need to return to the 
  12193.                      menu and select "S" to save changes after executing this function.              
  12194.               
  12195.                      Y        Delete a file.  If the "Y" is not followed by a parameter, you will be prompted 
  12196.                      for a file name.  You will then be asked to verify that you are sure you want it 
  12197.                      deleted.  You can also enter the file name on the command such as "Y 
  12198.                      BADFILE.DAT" or "+Y BADFILE.DAT" from the command prompt.  Be 
  12199.                      sure to enter the file extension as well as the file name.  You can delete a file 
  12200.                      in other directories by prefixing that path to the filename.  The "+F" 
  12201.                      command, function "8" is a better was of  doing this because it updates the 
  12202.                      Download Database as well as the DOS directory.  Note:  you will not need 
  12203.                      to return to the menu and select "S" to save changes after executing this 
  12204.                      function.              
  12205.               
  12206.                      X        Rename a file.  You will be prompted for the old file name then the new file 
  12207.                      name.  This command will not accept a file name on the command line.  Be 
  12208.                      sure to enter the file  name extension as well as the file name.  You can also 
  12209.                      "rename" a file from an upload to a download directory which causes it to be 
  12210.                      "moved" and makes it downloadable.  Both the path and filename must be 
  12211.                      entered.  The "+F" command, function  "7" is a better way of renaming a file 
  12212.                      because it updates the Download Database as well as the disk directory.  
  12213.                      Note:  you will not need to return to the menu and select "S" to save changes 
  12214.                      after executing this function.              
  12215.               
  12216.                      W        Display any file.  If the "W" is not followed by a parameter, then you will be 
  12217.                      asked for a file name.  Be sure to include the file name extension along with 
  12218.                      the file name.  The purpose of this command is to allow the system operator 
  12219.                      to view verify questionnaires that have been save to disk.  Note:  you will not 
  12220.                      need to return to the menu and select "S" to save changes after executing this 
  12221.                      function.              
  12222.               
  12223.                      V        Copy a file.  This option allows the SYSOP to copy files between the hard 
  12224.                      disk and the floppy disk while the system is online.  Be sure to give the drive, 
  12225.                      complete path, and full file name to BOTH the "from" and "to" prompt.  "To" 
  12226.                      does NOT default to the "from" file name.  While the file is being copied, 
  12227.                      Bulletron displays the count of 9,000 byte blocks copied.  The "+F" 
  12228.                      command, function "6" is a better way of  copying files from one hard disk to 
  12229.                      another because it updates the Download Database as well as the disk 
  12230.                      directories.  Note:  you will not need to return to the menu and select "S" to 
  12231.                      save changes after executing this function.              
  12232.               
  12233.                    6.4.Bulletins
  12234.               
  12235.                  "Bulletins" in the context of an Bulletron system are ASCII text files that are stored in disk files, 
  12236.                  as opposed to being stored as messages in the BBS database, and are displayed to a user each time that 
  12237.                  he selects a particular sub-board.  They are  similar in concept to the "MOTDxxx" messages that you 
  12238.                  can post on your system's "utilities" sub-board.  One of the reasons for using a bulletin, as opposed to a 
  12239.                  "MOTDxxx" message would be if your system runs a DOS based door program, such as Trade Wars, 
  12240.                  that creates a daily bulletin file of high scores for the previous day.  Another situation might be a 
  12241.                  company newsletter that gets edited by someone on a LAN workstation periodically.  Bulletins may be 
  12242.  
  12243.               
  12244.  
  12245.  
  12246.  
  12247.  
  12248.  
  12249.                  arbitrarily long, compared to the 9,000 byte limit for a "MOTDxxx" message, and there many be an 
  12250.                  arbitrary number of them for each sub-board, compared to the single "MOTDxxx" message per 
  12251.                  sub-board.  The disadvantage to using bulletins over "MOTDxxx" messages is that they impose extra 
  12252.                  processing overhead for disk I/O, because they do not take advantage of the BBS database' b-tree 
  12253.                  indexing.  Use them judiciously on systems with large numbers of users, because interactive users may 
  12254.                  see hesitation in the system while the disk I/O is being performed.
  12255.               
  12256.                  Every Bulletron sub-board can have bulletins.  You store them in directory "A" of each 
  12257.                  sub-board.  This is the file directory that would be accessed if a user executes a "F", "D", "V" or "U" 
  12258.                  command and selects menu letter "A" when presented with the menu of file directories.  If you want to 
  12259.                  put bulletins on a particular sub-board and do not have a directory selection "A", you can create one 
  12260.                  using the "PF" and "PD" commands.  If a sub-board already has a directory selection "A", then you can 
  12261.                  use it to store the bulletins, along with regular files.  You designate certain files as bulletin files by 
  12262.                  setting a flag on those files in the Download Database entries for those files.
  12263.               
  12264.                  The first step to setting up bulletins is to make sure that all of the sub-boards on which you want 
  12265.                  bulletins to display have a directory selection "A".  Use the "PF" and "PD" commands to create a 
  12266.                  directory selection "A" for each sub-board that does not have one.  Make sure that the access level for 
  12267.                  directory selection "A" is low enough so that everyone who is supposed to see the  bulletins can access 
  12268.                  that directory.  You can prevent certain users from seeing certain bulletins by setting access levels on 
  12269.                  the individual bulletin files.
  12270.               
  12271.                  The next step is to place the ASCII text files that you want to display as bulletins in the disk 
  12272.                  directories associated with directory selection "A" on each sub-board.  Then log on to the system as 
  12273.                  SYSOP, and execute "+F", function "5", to correlate the Download Database to the actual disk 
  12274.                  directories.  Each time that the system comes to a file that does not have a Download Database entry it 
  12275.                  prompts you for the information in the database entry.  When you come to the prompt,
  12276.               
  12277.                  
  12278.               
  12279.                  Bulletin File (Y/N/F/P/G/H) [N]:
  12280.               
  12281.                  
  12282.               
  12283.                  you can select one of the following:
  12284.               
  12285.                      "N"      The file is not a bulletin.              
  12286.               
  12287.                      "Y"      The file is a regular bulletin.  It will be displayed to every user having 
  12288.                      sufficient access level to see the file, every time he selects that sub-board.  
  12289.                      The user will be allowed to cancel the bulletin with CTRL/K, selecting "N" 
  12290.                      for nonstop at a screen pause, or selecting "K" at a screen pause.              
  12291.               
  12292.                      "F"      The file is a forced bulletin.  It will be displayed to each user only if it is new 
  12293.                      since his last logon, but he will not be allowed to use "N" for nonstop or "K" 
  12294.                      to exit the bulletin.              
  12295.               
  12296.                      "P"      The file is a regular bulletin, as in option "Y", but the file description from 
  12297.                      the Download Database will be displayed instead of the file itself.  This lets 
  12298.                      you display a directory of bulletin files, which your users can view with the 
  12299.                      "VA" command, if they are interested.              
  12300.               
  12301.                      "G"      The file is a regular bulletin, as in option "Y", but it is only displayed to users 
  12302.                      who have selected ANSI or RIP graphics.              
  12303.               
  12304.                      "H"      The file is a regular bulletin, as in option "Y", but it is only displayed to users 
  12305.                      who have not selected ANSI or RIP graphics.              
  12306.               
  12307.                  The final step to setting up your bulletins is to enable bulletin logic for your BBS.  On the 
  12308.                  Extended Parameters Menu ("PXP" command), function "G", enter a "Y" to enable bulletin logic.  
  12309.                  Displaying bulletins imposes the overhead of doing the equivalent of an "FB" or "FL" command each 
  12310.                  time that a user selects a sub-board, even if there are no bulletins for that sub-board.  Function "G" of 
  12311.                  the Extended Parameters Menu gives you the option of eliminating this overhead if you wish.
  12312.               
  12313.                    6.5.Automatic Callback Validation
  12314.               
  12315.  
  12316.               
  12317.  
  12318.  
  12319.  
  12320.  
  12321.  
  12322.                  Bulletron provides a feature that lets you assign privileges to first time callers, if they are willing 
  12323.                  to have their phone number validated by automatic callback.  In many cases, people are less eager to 
  12324.                  make prank calls to your system if they know that you have some positive identification on them.  
  12325.                  Automatic callback validation can provide you with a certain degree of positive identification for a new 
  12326.                  caller.
  12327.               
  12328.                  Automatic callback validation works by requesting the user to enter his phone number, after 
  12329.                  which the system hangs up the phone, dials his number and validates his password to continue the call.  
  12330.                  The phone number dialed is recorded permanently in the user's account record, and a message is sent in 
  12331.                  private mail to the system operator, notifying him of the event.  The call is also recorded in the system 
  12332.                  log file.  You can set up the callback feature to automatically assign new feature, time limit, chat time 
  12333.                  limit, and download time limit access levels to the account upon successful callback.  You can also 
  12334.                  automatically assign new SIGs and flags to the account.  You can set an upper access level, above 
  12335.                  which, users are blocked from using automatic callback validation.  This can ensure that no account can 
  12336.                  use automatic callback validation more than once, unless you manually put his access back to first-time 
  12337.                  caller levels.  You can set a limit to the number of accounts that can use the same phone number for 
  12338.                  callback validation, thus preventing someone with lots of time on their hands from staying on-line all 
  12339.                  night by setting up fifty different accounts.  You can restrict calls to non-toll calls on a per phone line 
  12340.                  basis, or mark certain lines to block callback altogether.
  12341.               
  12342.                  There are three commands that you must use to set up automatic callback validation.  First, with 
  12343.                  the "PL" command, you designate which lines will allow callback.  As you set up each phone line with 
  12344.                  the "PL" command, the callback option gives you three choices:
  12345.               
  12346.                      "N"      Prevent callback on that phone line completely.              
  12347.               
  12348.                      "Y"      Allow callback on that phone line.              
  12349.               
  12350.                      "L"      Allow local calls only; that is, callback on the phone line only if the first digit 
  12351.                      of the phone number is not a "1" or a "0".  Non-numeric characters are 
  12352.                      stripped from the phone number before checking so that users can not fool the 
  12353.                      system with leading blanks.              
  12354.               
  12355.                      "M"      Allow minimum long distance calls.  With this option, the line will allow 
  12356.                      phone numbers beginning with "0" or "1" to be dialed, but if the call is a 
  12357.                      validation call, then, as soon as the account is updated, the system tells the 
  12358.                      caller to call back using his own dime and hangs up the phone.  If the "NT" 
  12359.                      command is not being used for validation then long distance calls are allowed 
  12360.                      to proceed uninterrupted.              
  12361.               
  12362.                  The next step to setting up automatic callback validation is the Extended Parameters Menu 
  12363.                  ("PXP" command).  Function "D" of the Extended Parameters Menu allows you to specify the function 
  12364.                  of the "NT" command, as follows:
  12365.               
  12366.                      "N"      Disable the "NT" command.              
  12367.               
  12368.                      "Y"      Allow users with a feature access level above a certain value to use the "NT" 
  12369.                      command, but do not perform automatic validation when the command 
  12370.                      succeeds.              
  12371.               
  12372.                      "V"      Use the "NT" command for automatic callback validation, adjusting access 
  12373.                      levels, SIGs and flags on the account upon successful execution.              
  12374.               
  12375.                  Function "E" of the Extended Parameters Menu sets the access level(s) for the "NT" command.  
  12376.                  If you selected option "Y" for function "D" of the Extended Parameters Menu, then function "E" sets 
  12377.                  the minimum feature access level required to use the "NT" command.  If you selected option "V" of 
  12378.                  function "D" of the Extended Parameters Menu, then function "E" sets both the minimum feature 
  12379.                  access level required, and the maximum feature access level allowed.
  12380.               
  12381.                  Function "W" of the Extended Parameters Menu sets the maximum number of accounts that can 
  12382.                  use the same phone number for validation.  You can set this to zero if you want the number to be 
  12383.                  unlimited, or set it to any value from 1 to 255 to impose a limit.
  12384.               
  12385.                  Finally, on the Subscriber Parameters Menu ("PX$" command), you use function "U" to specify 
  12386.                  the access levels to be assigned upon successful callback, use function "V" to specify the SIGs to be 
  12387.                  assigned, and function "W" to specify the flags to be assigned. In general, though you may raise a user's 
  12388.  
  12389.               
  12390.  
  12391.  
  12392.  
  12393.  
  12394.  
  12395.                  feature access level upon callback to give him access to more sub-boards, or more  files, you generally 
  12396.                  want to keep his time limit access level lower if you are permitting long distance calls.  One approach 
  12397.                  that seems to work well is to let new accounts default to chat and download time limits of zero minutes 
  12398.                  per day, and keep them invisible so that subscribers can not "/BRING" them into chat, (see function "2" 
  12399.                  of the "PP" menu), then on successful callback, raise the chat and download time limit access levels to 
  12400.                  allow 15 minutes of each of these activities and the total time limit access level to allow 45 minutes 
  12401.                  (remember that most users will have used up 20-30 minutes of their first call finding the callback 
  12402.                  validation feature, so your average long distance call will be 15-20 minutes per new account.  If you 
  12403.                  allow more than one account on the same phone number, as can be common for husband/wife pairs that 
  12404.                  each want their own account, the system tells you all the accounts already using a phone number when 
  12405.                  it notifies you, in private mail, of a new account using the number.  The maximum number of accounts 
  12406.                  it can report is about 1,100, because that is where the 9,000 character message size limit is approached.
  12407.               
  12408.                  It is important to keep in mind, especially if your system carries material of an adult nature, that 
  12409.                  automatic callback validation is not foolproof.  It will tell you the phone number that the person called 
  12410.                  from, but it can not tell you if the person at the other end of the line is less than 18 years old.  Voice 
  12411.                  callback validation is still the best way of determining this.
  12412.               
  12413.                    6.6.Special SYSOP Main Commands
  12414.               
  12415.                  6.6.1.  "WC DELETE"
  12416.               
  12417.                  An option on the "WC" command, "DELETE", is only accessible to the SYSOP.  If you enter 
  12418.                  "WC DELETE", at the main system prompt, Bulletron displays each user's account record from oldest 
  12419.                  (oldest last logon date/time) through the most current.  It shows complete information such as the 
  12420.                  SYSOP sees with the "WI" command.  It then prompts you with the message "Delete Y/N?".  If you 
  12421.                  answer "Y", the account will be deleted, and copied to the backup file if automatic backup ("PP" 
  12422.                  command, option "F") is active.  This allows you to review and delete any old accounts which are  not 
  12423.                  automatically purged due to their access level.  It is generally a good idea to drop subscriber accounts 
  12424.                  that have been inactive for more than a year so that your user file does not become cluttered with 
  12425.                  account records of people who died, moved out of state, sold their computer, and so forth.  If you do 
  12426.                  this, you should also make that policy publicly known in your subscriber information message (to 
  12427.                  account "SUBINFO" on your "utilities" sub-board).
  12428.               
  12429.                  6.6.2.  "T" - Tutorial Command
  12430.               
  12431.                  The "T" command is the Tutorial/Teach/Demonstration command available to all users.  The 
  12432.                  purpose of it is to teach users, by demonstration, how to use your system.  When a user enters the "T" 
  12433.                  command, Bulletron displays messages "TUTOR1" through "TUTORn" from your "utilities" 
  12434.                  sub-board.  These messages must be linked together to have them all displayed.  
  12435.               
  12436.                  There are several special codes that you can use in the tutorial messages to customize the tutorial 
  12437.                  for each user:
  12438.               
  12439.                      XXXXXXXXXXXXXXXX (16 X's)   is replaced with the date and time that would normally 
  12440.                      show on the main system prompt.              
  12441.               
  12442.                      YYYY (4 Y's) is replaced by the execution of the "WO" command              
  12443.               
  12444.                      ZZZZ (4 Z's) is replaced with the "WM" command.              
  12445.               
  12446.                  The purpose of this is to make the tutorial more pertinent to the user showing his own 
  12447.                  information.  Although we provide sample TUTOR1 through TUTOR6 messages with the software, it 
  12448.                  is recommended that you create your own tutorial messages that reflect your own sub-boards, files, 
  12449.                  optional database, doors, etc..  
  12450.               
  12451.                  6.6.3.  "DD filename" (Download to a diskette)
  12452.               
  12453.                  SYSOPs have an additional download command which automatically copies a file to a floppy 
  12454.                  diskette in drive "A:".  This avoids having to use the "+V" to copy a file to floppy, using the "+Y" to 
  12455.                  delete the file, then the "+F", function "5" to update the download database.  If you use this command 
  12456.                  from a remote session, but don't have a floppy disk in the "A:"  drive, your BBS will halt dead, with the 
  12457.                  following message on the console screen:
  12458.               
  12459.                  
  12460.               
  12461.  
  12462.               
  12463.  
  12464.  
  12465.  
  12466.  
  12467.  
  12468.                  Not ready reading drive A
  12469.               
  12470.                  Abort, Retry, Fail?
  12471.               
  12472.                  
  12473.               
  12474.                  You will then have to physically go to your system, and press "R" (after putting a diskette in the 
  12475.                  drive), or "F" (to cancel the operation), to resume operation of the BBS.  If you press "A", instead of 
  12476.                  "R" or "F", you will trash your BBS index files and have to run REBUILD2 to re-create them.  
  12477.               
  12478.                  The advantage of using this command over "+V" or "+F" function "6" is that the "DD" command 
  12479.                  is easier to use because it does not prompt you for a source path or a destination path.  This command 
  12480.                  also updates your Download Database to reflect the correct number of times that the file has been 
  12481.                  downloaded and the last download date, whereas the former two commands do not.  You can also copy 
  12482.                  an entire directory by entering "DD *.*".
  12483.               
  12484.                  The "D%" Command is an alias for the "DD" command.
  12485.               
  12486.                  6.6.4.  "UD filename" (Upload from a diskette)
  12487.               
  12488.                  SYSOPs have an additional upload command which automatically copies a file from a floppy 
  12489.                  diskette in drive "A:".  This is just the opposite of the "DD" command.  As with the "DD" command, if 
  12490.                  you use this command from a remote session, but don't have a floppy disk in the "A:"  drive, your BBS 
  12491.                  will halt dead, with the following message on the console screen:
  12492.               
  12493.                  
  12494.               
  12495.                  Not ready reading drive A
  12496.               
  12497.                  Abort, Retry, Fail?
  12498.               
  12499.                  
  12500.               
  12501.                  You will then have to physically go to your system, and press "R" (after putting a diskette in the 
  12502.                  drive), or "F" (to cancel the operation), to resume operation of the BBS.  If you press "A", instead of 
  12503.                  "R" or "F", you will trash your BBS index files and  have to run REBUILD2 to re-create them.
  12504.               
  12505.                  The advantage of using this command over "+V" or "+F" option "6" is that the "UD" command is 
  12506.                  easier to use because it does not prompt you for a source path or a destination path.  This command also 
  12507.                  prompts you to enter a file description for every file you copy, and updates your Download Database.  
  12508.                  whereas the former two commands do not.  You can also copy an entire directory by entering "UD *.*".
  12509.               
  12510.                  The "U@" command is an alias for the "UD" command.
  12511.               
  12512.                  6.6.5.  "E MASSMAIL"
  12513.               
  12514.                  The SYSOP can send the same private message to all users who have access to a particular 
  12515.                  sub-board and who have logged on within a certain period.  This is called MASSMAIL for "mass 
  12516.                  mailing".  Enter "E MASSMAIL" and the system will prompt for the number of days during which a 
  12517.                  user must have logged on to get a copy of the message.  The system will then prompt for the minimum 
  12518.                  access level a user must have to receive the message.  This allows sending messages to subscribers 
  12519.                  only.  It will then prompt you for the message as usual.  However, it will create a copy of that message 
  12520.                  to every user who has access to the sub-board you have currently selected (even though the message 
  12521.                  itself will be placed on your "personal mail" sub-board) and who have logged in during the specified 
  12522.                  period.
  12523.               
  12524.                  Caution: this feature could fill up a disk very quickly with an excessive number of messages as 
  12525.                  well as slow down the performance of the system.  This feature is available only to the SYSOP, not an 
  12526.                  assistant SYSOP or users.
  12527.               
  12528.                  6.6.6.  "E NEWUSERS"
  12529.               
  12530.                  This feature is similar to "E MASSMAIL" except that it only sends mail to new users.  A new 
  12531.                  user is defined as one that has logged on 5 times or less.  This command will prompt for the number of 
  12532.                  days during which a user must have logged on just as  MASSMAIL does, and will check for the user's 
  12533.                  access to the sub-board on which the message is placed.  This command is only available to the 
  12534.  
  12535.               
  12536.  
  12537.  
  12538.  
  12539.  
  12540.  
  12541.                  SYSOP.
  12542.               
  12543.                  An alternative to sending mail to all NEW users is to set up help file messages NEWUMSG and 
  12544.                  NEWUMSGS.  If these messages are present, they are automatically sent to new users AFTER their 
  12545.                  first logon.  Although they are system generated messages, the header information reflects the header 
  12546.                  information of the message as it appears on your "utilities" sub-board (usually from SYSOP) and will 
  12547.                  not be listed as a "system generated message".  This feature provides a friendly personal message to 
  12548.                  new users on their next logon.  The difference between NEWUMSG and NEWUMSGS is that 
  12549.                  NEWUMSGS is sent to users who are SEPARATED (who contain a SIG in their SIGlist matching the 
  12550.                  board separation SIG defined with option "N" of the "PXP" command).
  12551.               
  12552.                  6.6.7.  "%" - Purge messages/accounts
  12553.               
  12554.                  Bulletron normally purges messages and accounts each day at 3:00 AM.  On those systems 
  12555.                  running on an local area network, or to manually force purging at times other than 3:00 AM, simply 
  12556.                  enter "%" to initiate the purge cycle.  The purge cycle occurs on the highest line number.  This is 
  12557.                  normally the line which has no modem and is used by the SYSOP only.  The purge then occurs at night 
  12558.                  when the SYSOP is asleep and when it is not likely to interfere with users who call in at the same time.  
  12559.                  If the top line is connected to a modem and is not a SYSOP-only local line, the purge may not be run if 
  12560.                  a user logs in or the network dials out around 3:00 AM.
  12561.               
  12562.                  6.6.8.  "PXR" - Refresh Vdisk and Prompts
  12563.               
  12564.                  The "R" option on the eXtended menu ("PXR" command) allows the SYSOP to manually refresh 
  12565.                  the RAM drive copy of your "utilities" sub-board if the BBS was started with the VDISK parameter.  It 
  12566.                  also reloads the prompts (messages to account PROMPT0 thru PROMPT9) in case any of the prompts 
  12567.                  have changed also.  This refreshing activity is automatically done after the 3:00 AM system purge 
  12568.                  process.  It is only necessary to use this command if prompts or menus are changed and you want the 
  12569.                  new ones to take effect immediately.
  12570.               
  12571.                  6.6.9.  "Y" - Display Control Window Remotely
  12572.               
  12573.                  The Control Window, which normally displays on the local console, can be viewed remotely as 
  12574.                  well.  If an assistant SYSOP (accounts beginning with ASYS) enters "Y", he will also see the list of 
  12575.                  lines, who is on them, and the status.  This can be useful to check on a line to see if it is down, not 
  12576.                  started, or stopped due to modem error.  If the SYSOP uses the "Y" command remotely, he will also see 
  12577.                  the menu at the bottom of the Control Window and will be able to use some of the Control Window 
  12578.                  functions.
  12579.               
  12580.                  The SYSOP can enter "S" to start one line, "X" to stop one line, or "D" to disconnect a user on 
  12581.                  another line.  You can disconnect and shut down your own line, so be careful.  Although you cannot use 
  12582.                  the "L", "N", "Q", or "E" commands to shut down all lines, you can shut down each one individually 
  12583.                  and, in effect, shut down the entire system making remote restarting impossible.
  12584.               
  12585.                  The SYSOP can also use the "B" command to broadcast a message to all users (same effect as 
  12586.                  entering "/CALL ALL") and the "U" command to list the line statistics. To view another telephone line 
  12587.                  remotely, enter "F" while in the "Y" command.  You will be prompted for the line number to monitor.  
  12588.                  To revert back to your own line, enter CTRL/K.  A remote line cannot monitor the local console, and 
  12589.                  the local console cannot monitor a remote line using the "Y" command.  The local console should use 
  12590.                  the "Fn" keys to monitor a remote line.
  12591.               
  12592.                  6.6.10. "PXC" - Changing the System Counters
  12593.               
  12594.                  The system counter menu allows you to reset the last message number and the total call count.  
  12595.                  The only time you may need to reset either of these counters is when you are starting a new BBS, or 
  12596.                  restarting a BBS after being "down" for a long period, and you want the counters to begin from zero.  
  12597.                  Enter "PX" at the main system prompt then "C" on the Extended Features Menu, or, to save time, enter 
  12598.                  "PXC" at the main system prompt.  You will see the System Counter Menu.  The only counters that can 
  12599.                  be changed are  the last message number and the total calls.  The other counters are shown for 
  12600.                  informational purposes only and will be reset by the system automatically.
  12601.               
  12602.                  
  12603.               
  12604.                  System Counters
  12605.               
  12606.                  A - Last message#  11233
  12607.  
  12608.               
  12609.  
  12610.  
  12611.  
  12612.  
  12613.  
  12614.               
  12615.                  B - Total calls    65434
  12616.               
  12617.                  Total New users  340
  12618.               
  12619.                  Today's date  851201  
  12620.               
  12621.                  L - Manually reset line statistics
  12622.               
  12623.                  R - Manually reset daily statistics
  12624.               
  12625.                  Q - Finished, update file
  12626.               
  12627.                  
  12628.               
  12629.                  What option:
  12630.               
  12631.                  A    Last message# - The message number can be from 101 to 99000.  It will automatically reset to 
  12632.                  101 when it exceeds 99000.  The system also checks for duplicate message numbers on the current 
  12633.                  sub-board before saving any message.  NOTE:  IF YOU RESTORE AN OLDER BACKUP COPY OF 
  12634.                  THE BBPARMS FILE, THEN BE SURE TO INCREMENT THE LAST MESSAGE NUMBER TO 
  12635.                  BE GREATER THAN THE HIGHEST MESSAGE NUMBER ON YOUR BOARD.  Otherwise, you 
  12636.                  could get two messages with the same message number on the same board which will create an error 
  12637.                  and make the second message inaccessible.
  12638.               
  12639.                  B    Total calls - This allows you to reset the total call count and the total new user count.
  12640.               
  12641.                  L    Manually reset line statistics - This allows you to reset the line statistics if they were not 
  12642.                  automatically reset at midnight.  The line statistics are those numbers which show when you enter "U" 
  12643.                  from the Control Window.  Most of the fields in the system counters record cannot be changed and are 
  12644.                  displayed for informational purposes only.  The calls today and time today (minutes the system was in 
  12645.                  use) are reset when the date, as read from the system clock, changes from "Today's date" as shown in 
  12646.                  the record.  "Total New Users" and "Today's Date" are not changeable.  The "Total New Users" field is 
  12647.                  used to tell the sysop how many accounts have been established in the lifetime of the board.
  12648.               
  12649.                  R    Manually reset daily statistics - This resets the number of calls, callers, minutes online  today, 
  12650.                  and other daily counts that display on the top lines of the Control Window.
  12651.               
  12652.                    6.7.Special SYSOP Subcommands
  12653.               
  12654.                  6.7.1.  "E@" -  Make Message from Disk File
  12655.               
  12656.                  There are several subcommands that only the SYSOP can access.  "@" is a subcommand of the 
  12657.                  Enter command.  It allows you to create a message, or a comment on a message, from a disk file.  Be 
  12658.                  sure that the disk file is not larger than the remaining message size.  If you create the file off line using 
  12659.                  a word processor, be sure that the file is an ASCII, or non-document file, not a word processor file or a 
  12660.                  document file.  If you use WordStar, for example, do not try to use the "E@" command to load from a 
  12661.                  document file.  Print the file to disk and load the print file.
  12662.               
  12663.                  6.7.2.  Special Post-Read Commands
  12664.               
  12665.                  After you read a message, you are prompted with a number of options:
  12666.               
  12667.                      D        Delete the message...              
  12668.               
  12669.                      F        Forward a message to the author of the message              
  12670.               
  12671.                      C        Add a comment to the message...              
  12672.               
  12673.                      etc..              
  12674.               
  12675.                  These are called post-read commands since they are commands that you can perform after 
  12676.                  reading a message.  The system operator has several post-read commands available that are not 
  12677.                  available to users:
  12678.               
  12679.                      G        Sometimes there may be two copies of a message on a sub-board, one 
  12680.  
  12681.               
  12682.  
  12683.  
  12684.  
  12685.  
  12686.  
  12687.                      containing ANSI graphic escape sequences for users that answer "Y" to the 
  12688.                      initial prompt "Do you want ANSI graphics" and one without ANSI 
  12689.                      sequences.  To avoid showing the non-ANSI message to the ANSI user and 
  12690.                      showing the ANSI message to the non-ANSI user, the SYSOP can flag the 
  12691.                      message as being an ANSI graphic message.  The SYSOP would read the 
  12692.                      message and at the post-read menu, enter "G". Bulletron will prompt you 
  12693.                      with "ANSI Graphic Y/N/B".  Enter "Y" if the message will only be 
  12694.                      displayed to the users who are receiving ANSI message and do not show it to 
  12695.                      non-ANSI users, enter "N" to show it non-ANSI users and not show it to 
  12696.                      ANSI users, or enter "B" (the normal default) to show it to Both ANSI and 
  12697.                      nonANSI users.              
  12698.               
  12699.                      H        As the system operator, you may desire to review all messages on certain 
  12700.                      sub-boards for inappropriate information before allowing other users to view 
  12701.                      them.  If a "hold" flag is set on any sub-board ("see the "PB" command"), 
  12702.                      then every new message, or message with new comments, on that sub-board 
  12703.                      will be "held" until you read and approve it.  An "H" will appear next to the 
  12704.                      summary on a "held" message and "**HOLD**" will appear in the heading 
  12705.                      of the message.  At the end of the message, a reminder "Reminder:  this 
  12706.                      message is being HELD" will display to SYSOPs.  You can enter "H" at the 
  12707.                      end of the message to change its "hold" status.  If the message is already 
  12708.                      being held, then "N" or [enter] will remove the "hold" and update the 
  12709.                      message date/time.  Entering "Y" will retain the "hold" on a held message, or 
  12710.                      put a "hold" on a non-held message.  Entering "D" will delete the message if 
  12711.                      you find it objectionable.  Messages that are "held" are not visible to your 
  12712.                      users, and will not be sent out over the network.  This allows you to monitor 
  12713.                      messages before the public sees them and before they can be sent out from 
  12714.                      your system.  Assistant SYSOPs, but not SIG-ops, can also release a "held" 
  12715.                      message.  Also, if a user has flag "H" in his account record (see the "+4" 
  12716.                      command), then any new messages or messages that he adds comments to, 
  12717.                      regardless of the sub-board "hold" flag, will be marked as "held".  If you have 
  12718.                      a problem user, then you can hold only messages which he affects.              
  12719.               
  12720.                      I        Make the message "read only".  Bulletron prompts for a "Y" or "N" to make 
  12721.                      the message read only or allow comments.  There must be at least 500 bytes 
  12722.                      remaining in the message to make it "commentable".              
  12723.               
  12724.                      J        Make the message anonymous.  Bulletron prompts you to determine whether 
  12725.                      this message is to be an anonymous or not.              
  12726.               
  12727.                      L        Force the message to link to another message.  If a user posts several stories 
  12728.                      in messages and you want to be sure that they are read in the proper sequence, 
  12729.                      you can set the first one to link to the second one, link the second to the third, 
  12730.                      and so forth, to force them to be read in order.  You are prompted for the 
  12731.                      message number to link TO.  This means that you will probably have to read 
  12732.                      the messages twice; once to jot down the message numbers on a piece of 
  12733.                      paper, and the second time to set the links.  The messages must be on the 
  12734.                      same sub-board.  Linking messages also be used to make a help message or 
  12735.                      ANSI screen on your "utilities" sub-board that is longer than 9,000 bytes.  To 
  12736.                      break a link between messages, enter minus one instead of a message number.              
  12737.               
  12738.                      M        Modify the entire message.  This allows the SYSOP to edit a message and its 
  12739.                      comments after it has been sent.              
  12740.               
  12741.                      N        No-delete.  Bulletron prompts to determine whether the system or the 
  12742.                      originator can delete this message, or if it should only be deleted by the 
  12743.                      SYSOP.  Setting this flag on a message prevents it from ever being purged.              
  12744.               
  12745.                      P        Make a message public or private.  Bulletron prompts for whether the 
  12746.                      message is to be public or private.              
  12747.               
  12748.                      R        Reroute the message to a different account.  This allows the SYSOP to route 
  12749.                      a message to a different user to be answered.  The TO account is changed, but 
  12750.                      not the TO name so that the new  receiver can determine that it was not 
  12751.                      intended originally to him.  This command also allows additional text to be 
  12752.                      added as a comment to the message before it is rerouted, and whether a copy 
  12753.  
  12754.               
  12755.  
  12756.  
  12757.  
  12758.  
  12759.  
  12760.                      of the message is to be retained in the original account.  You can reroute a 
  12761.                      message to a user on another network node by entering / and the node 
  12762.                      number:  for example, "SYSOP/ORA976" or just "SYSOP/976" to reroute 
  12763.                      the message to the SYSOP of Bulletnet node 976.              
  12764.               
  12765.                      S        Swap the "TO" and "FROM" accounts just like adding a comment.  If you 
  12766.                      have two system operators and someone leaves a message to SYSOP1 but 
  12767.                      SYSOP2 answers the message, then the "to" and "from" accounts are not 
  12768.                      swapped because it was addressed to SYSOP1, not SYSOP2.  SYSOP2 can 
  12769.                      then use the "S" command to reverse the to/from so that the user will get the 
  12770.                      message when he logs on again.              
  12771.               
  12772.                      T        Transfer to a different sub-board.  This allows you to change the sub-board on 
  12773.                      which a message is shown.  You are prompted for the 3-character 
  12774.                      abbreviation of the new sub-board that the message is to be transferred to.  
  12775.                      You will then be prompted for "M" to move the message or "C" to copy the 
  12776.                      message to the other board.  Pressing Enter defaults to "Move".              
  12777.               
  12778.                      V        Set the message's "no Interruption" flag. Four values are  recognized:              
  12779.               
  12780.                               Y    makes the message pause every 22 lines, regardless of whether or 
  12781.                               not the user has screen pause enabled in his preferences.  CTRL/K 
  12782.                               is disabled so that the user can not  escape until the message is 
  12783.                               finished.  If you put this flag on a private mail message, then 
  12784.                               Bulletron will force the user to read that private mail message right 
  12785.                               after the MOTD messages.  Use this feature for urgent private mail 
  12786.                               that the user must read, such as notification that his check bounced.              
  12787.               
  12788.                               N    makes the message normal again, allowing the user's preferences to 
  12789.                               control screen pause and allowing the user to abort the message 
  12790.                               with CTRL/K.              
  12791.               
  12792.                               G    inhibits screen pauses, even if the user has screen pauses in his 
  12793.                               session preferences.  This is exactly the opposite of the "Y" option.  
  12794.                               You use it for animated ANSI graphic  messages, in which there 
  12795.                               tend to be a lot more than 22 lines of text to draw one 22-line 
  12796.                               screen.              
  12797.               
  12798.                               L    applicable only to MOTD type messages (includes AMOTD, 
  12799.                               MOTD1, MOTDbbb, etc..).  This option makes the MOTD 
  12800.                               message display to the user only it it has changed since his last 
  12801.                               logon date and time.              
  12802.               
  12803.                      X        Delete the last comment.  If there is a message on the system that has some 
  12804.                      good dialogue going, but an inappropriate comment was added, the last 
  12805.                      comment can be deleted.  You can also use the "M" command (modify) to 
  12806.                      delete a comment in the middle of the message.              
  12807.               
  12808.                      %        Create a disk file from a message.  Just as "E@" allows you to create a 
  12809.                      message from a disk file, the "%" command, here, allows you to create a disk 
  12810.                      file from the message that you just read.  The header information will be 
  12811.                      included.  The message is NOT deleted when a disk file is created from it.  
  12812.                      This allows you to download a message to a file, modify it with your word 
  12813.                      processor, then use the "E@" command to upload it again.  Note:  the header 
  12814.                      of the message is also put into the file.  If you upload it with "E@", you will 
  12815.                      probably want to delete the first four lines, which are the message header, 
  12816.                      telling when the message was entered and by whom.  You can use this when 
  12817.                      reading verify questionnaires, to archive them to disk files.              
  12818.               
  12819.                      @        Add a comment to a message, but take that comment from a disk file.  This is 
  12820.                      similar to the "E@" command.              
  12821.               
  12822.                      +        This allows the SYSOP to perform all the functions normally done with the 
  12823.                      "+" command from the main system prompt, on the account marked as the 
  12824.                      FROM account on the message.  For example, if a user sends you a message 
  12825.                      asking to have his access level raised, then you can press "+" at the end of the 
  12826.  
  12827.               
  12828.  
  12829.  
  12830.  
  12831.  
  12832.  
  12833.                      message and raise the user's access level immediately.  It is not necessary to 
  12834.                      exit the Read command to do a "+" command.  The new access level will take 
  12835.                      effect immediately, even if the user is logged on.              
  12836.               
  12837.                  NOTE:  Most of the special SYSOP post-read commands loop back to the post-read prompt to 
  12838.                  allow you to perform several operations on the same message.
  12839.               
  12840.                    6.8.Assistant SYSOP Privileges
  12841.               
  12842.                  Some installations may require additional personnel to manage a BBS.  There may be a different 
  12843.                  individual responsible for each sub-board, for example.  Although there can be any number of system 
  12844.                  operators (account codes beginning with "SYS"), an installation should only have one or two full 
  12845.                  SYSOPs for management and security reasons.  The other personnel should be ASSISTANT SYSOPs 
  12846.                  (account codes beginning with "ASYS") or SIG-ops (account codes beginning with "SIG").  
  12847.               
  12848.                  Assistant SYSOPs have most of the capabilities of full SYSOPs on the sub-board having a three 
  12849.                  character abbreviation that matches the last three characters of their account code.  For example, 
  12850.                  ASYSORD would have nearly full system operator privileges on the "ORD" sub-board.
  12851.               
  12852.                  ASYS accounts:
  12853.               
  12854.                       can send "/TO" messages to invisible users
  12855.               
  12856.                       can send "/TO" messages to unverified users
  12857.               
  12858.                       can receive system generated "/TO" messages while invisible or nochat in effect
  12859.               
  12860.                       can include invisible and unverified users in chat groups
  12861.               
  12862.                       can use "DD" and "D%" commands
  12863.               
  12864.                       are shown file protections in "F" commands
  12865.               
  12866.                       can use "E@" commands
  12867.               
  12868.                       can post on order-entry sub-boards
  12869.               
  12870.                       can post non-form messages on form message sub-boards
  12871.               
  12872.                       can post public messages on read-only sub-boards
  12873.               
  12874.                       are permitted 999 carbon copies
  12875.               
  12876.                       can specify "from" user with "E@" commands
  12877.               
  12878.                       can use "SR" function for file descriptions to set the notify flag
  12879.               
  12880.                       can penetrate board separation and classes when sending private mail, and can send mail to 
  12881.                    unverified users
  12882.               
  12883.                       are immune to users' accounts to ignore.
  12884.               
  12885.                       can access all outside features, regardless of access level
  12886.               
  12887.                       can access type "P" features
  12888.               
  12889.                       are not counted in the total users logged on during a day
  12890.               
  12891.                       see invisible users in the count of users on line during logon
  12892.               
  12893.                       see users in all classes and both sides of the board separation in the count of users on line during 
  12894.                    logon
  12895.               
  12896.                       always have subscriber privileges
  12897.               
  12898.                       are not counted in the total calls or the calls today
  12899.  
  12900.               
  12901.  
  12902.  
  12903.  
  12904.  
  12905.  
  12906.               
  12907.                       are allowed to use "G&", "Q&" and "Z&", no matter how busy the system is
  12908.               
  12909.                       are allowed to use the "Z+" commands, which prevents the last logon date/time as well as the 
  12910.                    message last logon date/time from being updated
  12911.               
  12912.                       can execute the "Y" command
  12913.               
  12914.                       can use the "+" commands
  12915.               
  12916.                       are shown "MENUS2" instead of "MENU"
  12917.               
  12918.                       are shown "+" and "%" in the system generated menu
  12919.               
  12920.                       are shown the true sub-board list, rather than "MENUB", to bypass hierarchical sub-board 
  12921.                    menus in case the hierarchy is incorrectly set up and a group of sub-boards is not accessible
  12922.               
  12923.                       see additional information on "W" commands
  12924.               
  12925.                       can see unverified users
  12926.               
  12927.                       are the only accounts that can use the "RC" command on ORA122
  12928.               
  12929.                       are allowed to use wildcard searches ("RA xxx?" and "SA xxx?") on "RM", "RZ", "RA", "SM", 
  12930.                    "SZ" and "SA" commands
  12931.               
  12932.                       are shown full account information on the "A" post-read function
  12933.               
  12934.                       can see details on anonymous messages
  12935.               
  12936.                       are shown whether or not a message is deletable
  12937.               
  12938.                       are shown whether or not a message is held
  12939.               
  12940.                       are shown the graphics restriction on a message
  12941.               
  12942.                       are shown the non-graphics restriction on a message
  12943.               
  12944.                       are shown whether or not a message is private if it is anonymous
  12945.               
  12946.                       are shown whether a message is read-only if a message is private or anonymous
  12947.               
  12948.                       can see held messages
  12949.               
  12950.                       get the held message reminder
  12951.               
  12952.                       can reroute messages
  12953.               
  12954.                       get special post-read prompts
  12955.               
  12956.                       can use the "Y" post-read function
  12957.               
  12958.                       get a special post-read menu
  12959.               
  12960.                       can modify messages on their own sub-board
  12961.               
  12962.                       can add comments to read-only messages
  12963.               
  12964.                       are shown an "H" to indicate that a message is on hold in the message summary
  12965.               
  12966.                       are shown a "P" to indicate that a message is private in the message summary
  12967.               
  12968.                       are shown message times of anonymous messages in message summaries
  12969.               
  12970.                       can do "RC" on personal mail board; for unprivileged users others this becomes "RM"
  12971.               
  12972.  
  12973.               
  12974.  
  12975.  
  12976.  
  12977.  
  12978.  
  12979.                       when logged in on the local console can include drive and directory information in file 
  12980.                    specifications
  12981.               
  12982.                       never time out for inactivity on the local console
  12983.               
  12984.                       can pull up the Control Window menu using the "Y" command
  12985.               
  12986.                       can use the "U" and "B" functions of the Control Window menu, using the "Y" command
  12987.               
  12988.                       can see files that are private to other users using "F" commands
  12989.               
  12990.                       can see files with no Download Database record using "FT", "FQ" and "FD" commands
  12991.               
  12992.                       see last download date in place of upload date for "F" commands
  12993.               
  12994.                       see the account that uploaded the file, the access level, flags, bulletin status, notify flag for "F" 
  12995.                    commands
  12996.               
  12997.                       can use the "UD" and "U@" commands
  12998.               
  12999.                       can upload ASCII files with more than ten consecutive blank lines
  13000.               
  13001.                       can use "WO" while invisible on ORA62 and ORA137
  13002.               
  13003.                       see full account info with "WA" and "WI" commands
  13004.               
  13005.                       can see their own initial logon date/time, password used at initial logon, and help flags
  13006.               
  13007.                       can see accounts below the verified access level
  13008.               
  13009.                       can see user accounts in all classes and on both sides of the board separation
  13010.               
  13011.                  Full system operators can, but ASYS accounts can not:
  13012.               
  13013.                       send "/TO" messages to users in any class
  13014.               
  13015.                       download files with missing or corrupt Download Database entries
  13016.               
  13017.                       download any file, regardless of file access level, account & password restrictions
  13018.               
  13019.                       download any file, regardless of  sub-board and directory access restrictions
  13020.               
  13021.                       send MASSMAIL and NEWUSERS massmail
  13022.               
  13023.                       execute "L" commands regardless of access level and SIG restrictions of the "network source 
  13024.                    sub-board
  13025.               
  13026.                       use "E" commands to enter messages on any sub-board, regardless of sub-board "E" access 
  13027.                    level
  13028.               
  13029.                       use "E" commands to generate private mail from any sub-board, regardless of the  "E" access 
  13030.                    level of the private mail sub-board
  13031.               
  13032.                       force ALLFILES.TXT to be generated at odd times
  13033.               
  13034.                       be logged in on multiple lines at the same time
  13035.               
  13036.                       be immune to the time limits per phone line
  13037.               
  13038.                       be automatically always assigned a feature access level of 32001, and 999 minutes for all 
  13039.                    session time limits for each logon
  13040.               
  13041.                       execute the "%" command to force a system message and account purge at any arbitrary time
  13042.               
  13043.                       see message details on anonymous sub-boards
  13044.               
  13045.  
  13046.               
  13047.  
  13048.  
  13049.  
  13050.  
  13051.  
  13052.                       see "ANON" instead of "FROM" in a message header, and shown the message link, if present
  13053.               
  13054.                       see "TO" information in a message header, whether or not the message is an autopoll, whether 
  13055.                    or not the message is read-only, and whether or not the message is anonymous, for private or 
  13056.                    anonymous messages.
  13057.               
  13058.                       accounts see account codes on anonymous message comments
  13059.               
  13060.                       see anonymous messages with "SA" and "RA" commands
  13061.               
  13062.                       see all messages
  13063.               
  13064.                       delete any arbitrary messages
  13065.               
  13066.                       modify messages on any sub-board
  13067.               
  13068.                       change anonymous state of messages
  13069.               
  13070.                       swap to/from accounts
  13071.               
  13072.                       use the "+0" command to change account codes
  13073.               
  13074.                       use the "+1" command to delete accounts
  13075.               
  13076.                       use the "+5" command to change users' passwords
  13077.               
  13078.                       use the "+Z" command
  13079.               
  13080.                       use the "+Y" command
  13081.               
  13082.                       use the "+X" command
  13083.               
  13084.                       use the "+W" command
  13085.               
  13086.                       use the "+V" command
  13087.               
  13088.                       use the "+A" command
  13089.               
  13090.                       use the "+B" command
  13091.               
  13092.                       use the "+O" command
  13093.               
  13094.                       set a "S" flag on another account
  13095.               
  13096.                       change SYS and ASYS accounts
  13097.               
  13098.                       use "G", "L", "N", "Q" and "E" functions of the Control Window menu using the "Y" command.
  13099.               
  13100.                       always search all sub-boards using "FG" commands
  13101.               
  13102.                       always search all sub-boards with "XG" commands
  13103.               
  13104.                       download files that are private to other users.
  13105.               
  13106.                       use "WC DELETE"
  13107.               
  13108.                       see account passwords
  13109.               
  13110.                       see anyone's address information when name/address is used instead of 3-line description
  13111.               
  13112.                       unconditionally see all sub-boards
  13113.               
  13114.                  Special assistant system operator accounts are formed by appending the three character sub-board 
  13115.                  abbreviation for one of the sub-boards in your system to "ASYS".  On the sub-board that matches his 
  13116.                  account code, one of these special ASYS accounts can:
  13117.               
  13118.  
  13119.               
  13120.  
  13121.  
  13122.  
  13123.  
  13124.  
  13125.                       see special information in message summaries indicating whether or not the message is 
  13126.                    anonymous, private, linked to another message, autopoll, or read-only
  13127.               
  13128.                       see any message on their sub-board; public or private
  13129.               
  13130.                       delete any message on their sub-board
  13131.               
  13132.                       see the author(s) of anonymous messages on their sub-board
  13133.               
  13134.                       see whether or not a message on their sub-board is on-hold
  13135.               
  13136.                       reroute any message on their sub-board to a different account
  13137.               
  13138.                       open and modify any message on their sub-board
  13139.               
  13140.                       use the "V", "H", "@", "%", "I", "T", "P", "N", "J", "G", "S", "R" and "M" post-read functions
  13141.               
  13142.                  Remember that all transactions with the "+" command, including deleting accounts, are noted in 
  13143.                  the log file to indicate who altered an account.  "SYS" and "ASYS" accounts can only be set up locally.  
  13144.                  If a SYSOP receives a message which is to be answered by an assistant, the SYSOP can reroute it to the 
  13145.                  assistant with the "R" post-read command.  
  13146.               
  13147.                    6.9.SIG-op Privileges
  13148.               
  13149.                  A "SIG-op" is an person having an account code formed from the letters "SIG", and the three 
  13150.                  character sub-board abbreviation of some sub-board in your system.  The sub-board does not have to be 
  13151.                  designated as a SIG in its setup (see "PB" command).  The verify questionnaire, order entry messages, 
  13152.                  and any system generated messages notifying the operator about uploaded files go, in private mail, to 
  13153.                  an account code which is determined as follows:  
  13154.               
  13155.                  Bulletron first looks for account "SIGnnn" where "nnn" is the sub-board abbreviation of the 
  13156.                  sub-board where the questionnaire, order entry message, or upload was entered.  If "SIGnnn" is not 
  13157.                  found, Bulletron looks for an assistant SYSOP account "ASYSnnn".  If that account is found, then that 
  13158.                  is the account used as the receiver of the  message.  If "ASYSnnn" is not found, then Bulletron looks 
  13159.                  for "SYSnnn" and uses that account instead.  If "SYSnnn" is also not found, then Bulletron sends the 
  13160.                  message to account "SYSOP".
  13161.               
  13162.                  
  13163.               
  13164.                  "SIGnnn" -> "ASYSnnn" -> "SYSnnn" -> "SYSOP" in that order.
  13165.               
  13166.                  
  13167.               
  13168.                  A SIG-op also has one special privilege, which is the ability to delete any message  on the 
  13169.                  sub-board matching his account code.
  13170.               
  13171.                    6.10.  Feature Operators
  13172.               
  13173.                  Many outside feature programs ("doors") require a person to be designated as moderator of the 
  13174.                  game or other activity that takes place.  They identify the person who has operator privileges by a first 
  13175.                  name and last name, and sometimes a password.  In order to make the names used in outside features 
  13176.                  unique, and guarantee that no single Bulletron account can have more than one player or character in 
  13177.                  the game, Bulletron generates the first name for a player in an outside feature game from a user's 
  13178.                  Bulletron account code, and generates the last name for the outside feature from the account's handle.  
  13179.                  If the handle contains any space characters, then only the characters up to the first space character are 
  13180.                  used.  You designate the account that will act as the game moderator when you install the outside 
  13181.                  feature ("PXO" command).  Be sure to tell the person you designate that he may lose his special 
  13182.                  privileges in the game if he changes his name or handle.  Special privileges are limited to the execution 
  13183.                  of the outside feature;  they have no special privileges as far as Bulletron is concerned.  This feature 
  13184.                  only applies to "doors" that operate inside the same computer as Bulletron.
  13185.               
  13186.                    6.11.  Backing up Your Data
  13187.               
  13188.                  As a system operator, you have a responsibility to your users to protect their data as much as 
  13189.                  possible.  You, therefore, have an obligation to perform periodic backups of the data.  Bulletron files 
  13190.                  should be backed up at least weekly, or even daily if there is a lot of activity on your system.  You 
  13191.  
  13192.               
  13193.  
  13194.  
  13195.  
  13196.  
  13197.  
  13198.                  should keep three generations of your backup diskettes or tapes.  A "generation" is one complete set of 
  13199.                  all of the files.  For example:  assume that you are using the operating system's "BACKUP" utility to 
  13200.                  back up your data and that it currently takes four (4) diskettes to hold a complete set of your files.  On 
  13201.                  4/1 you backup to diskettes "A", "B", "C", and "D".  On 4/8 you backup to diskettes "E", "F", "G", and 
  13202.                  "H", and on 4/15 you backup to diskettes "I", "J", "K", and "L".  On 4/22 you can reuse "A", "B", "C", 
  13203.                  and "D" again.  Do not copy over your last backup with the current backup, in the event that the diskette 
  13204.                  becomes unreadable.
  13205.               
  13206.                  When your files are small enough to fit on one diskette, you can back up using COPY.  Insert a 
  13207.                  formatted diskette into drive "A", the floppy disk drive, and enter
  13208.               
  13209.                  
  13210.               
  13211.                  COPY BB*.DAT A:
  13212.               
  13213.                  COPY BB*.IDX A:
  13214.               
  13215.                  
  13216.               
  13217.                  When your message and user files have grown so that they will no longer fit on one floppy, you 
  13218.                  must use a backup utility.  If your system is quite large, you may want to consider installing two similar 
  13219.                  hard disk drives and copying the BBS database on the primary drive to the secondary drive on a regular 
  13220.                  basis.  If you maintain a full working copy of your system on the secondary drive, then, when your 
  13221.                  primary drive fails, you can simply switch the cables so that the backup drive becomes the primary 
  13222.                  drive  while you are getting the failed drive repaired or replaced.
  13223.               
  13224.                  NOTE:  IF YOUR MOST RECENT BACKUP IS MORE THAN A WEEK OLD AND YOU 
  13225.                  HAVE A SYSTEM FAILURE, IDK COMPUTER SYSTEMS WILL NOT BE ABLE TO GIVE YOU 
  13226.                  SUPPORT.  BACK UP YOUR FILES AT LEAST ONCE EVERY WEEK FOR YOUR OWN 
  13227.                  PROTECTION AS WELL AS YOUR USERS.
  13228.               
  13229.                  6.11.1. On-line Automatic Backup
  13230.               
  13231.                  All of your Bulletron data files (BB*.DAT) should be backed up to floppy disks, tape, or some 
  13232.                  other media at least once per week.  In addition to this, Bulletron can create files to assist in the 
  13233.                  situation where the files are destroyed and need to be recreated using the last backup plus any changes 
  13234.                  made since the last backup.  The backup level parameter of the "PP" command determines if, and how, 
  13235.                  any additional data is saved.  Valid options are 0 thru 4:
  13236.               
  13237.                      0        Do not save any record of changes made to the system.  This allows the 
  13238.                      fastest operation but provides no way to  recover any information added since 
  13239.                      your last physical  backup.              
  13240.               
  13241.                      1        Copy any DELETED messages or accounts (regardless of whether they were 
  13242.                      deleted by the system, a SYSOP, or a user) to a file named 
  13243.                      "XXyymmdd.BAK", where "yymmdd" are the year, month and day for the 
  13244.                      file.  A new file is created every day.  Since the same file is opened and 
  13245.                      closed with each addition, there is still a slight a chance that this file could be 
  13246.                      destroyed in a system crash also, but it does provide some additional 
  13247.                      protection while slowing the system down the least.  It also gives you a way 
  13248.                      to recover messages or accounts that were deleted accidentally.              
  13249.               
  13250.                      2        Copy any ADDED, CHANGED, or DELETED messages or accounts to a file 
  13251.                      named "XXyymmdd.BAK".  This provides additional protection, but causes 
  13252.                      more overhead.  You MUST have this option, or option 4, below, in effect to 
  13253.                      be able to completely recover from a hardware failure with no loss of data.              
  13254.               
  13255.                      3        Copy any DELETED messages (not accounts) to separate files named 
  13256.                      "XXXnnnnn.bbb", where "nnnnn" is the message number and "bbb" is the 
  13257.                      sub-board abbreviation.  This provides even more protection than options 1 or 
  13258.                      2 above since the file is never open during a possible crash, but as more files 
  13259.                      are added to the directory, the system will become progressively slower.  A 
  13260.                      FAT (DOS compatible) directory severely degrades in access speed when it 
  13261.                      reaches a threshold of about 200 files.  You can eliminate this problem by 
  13262.                      using an HPFS directory under OS/2, but be aware that you should NEVER 
  13263.                      format your boot partition as an HPFS drive.  If you use this option, be sure 
  13264.  
  13265.               
  13266.  
  13267.  
  13268.  
  13269.  
  13270.  
  13271.                      to copy the files off the hard disk and delete them every day to avoid 
  13272.                      degrading the system.              
  13273.               
  13274.                      4        Copy any ADDED, CHANGED, or DELETED messages (not accounts) to 
  13275.                      separate files called "XXXnnnnn.bbb".  This is similar to option 3, above, but 
  13276.                      creates even more files.              
  13277.               
  13278.                  After you enter the number to select the backup level that you desire, Bulletron asks you for a 
  13279.                  "Path for full backup".  If you enter a directory path here, then each time that the BBS program 
  13280.                  performs its daily purge of dead accounts and messages, it will make clean, compacted copies of 
  13281.                  BB*.DAT and BB*.IDX in that directory.  If you leave this blank or enter spaces, then these copies of 
  13282.                  the files will not be made.  The copy process is done by the BBS2.EXE program at a low priority so 
  13283.                  that users on line do not notice any impact on performance.  Using this feature, you can keep your data 
  13284.                  safe with backups and still stay online 24 hours a day, 7 days a week.
  13285.               
  13286.                  In addition to the usual hardware failures, another reason you may need to use the automatic 
  13287.                  backup facility is is your system is accidentally started with a date way off in the future  and a message 
  13288.                  and account purge takes place.  If you boot your computer but accidentally enter the wrong date, then 
  13289.                  Bulletron will "think" that all of your messages and accounts are expired and, therefore, need to be 
  13290.                  deleted.  It will go through and delete all of your users and messages.  What you would do in this case 
  13291.                  (after screaming and tearing your remaining hair out) is to restore a prior backup copy of your 
  13292.                  BBUSERS.* and BBSMSGS.* files and restore the rest from incremental backups, as described below.  
  13293.                  Don't forget to correct the date on your computer before restoring your data.
  13294.               
  13295.                  6.11.2. Restoring a Backup
  13296.               
  13297.                  If your hardware does fail and you need to restore your system from a backup, you must first 
  13298.                  restore your latest full system backup from floppy disks, tape, or wherever you put it.  Then use 
  13299.                  BBUTIL2 utility program to restore messages or accounts that were added or changed between the 
  13300.                  backup and the time of your  hardware failure.  
  13301.               
  13302.                  When you select function "6" of the BBUTIL2 program, you are prompted for  additional 
  13303.                  information as follows:
  13304.               
  13305.                  
  13306.               
  13307.                  Backup file name (XXyymmdd.BAK):
  13308.               
  13309.                  
  13310.               
  13311.                  You are first prompted for which backup file to use as input.  A new file is created every day, so 
  13312.                  enter the complete name which includes the date.  The program then asks you which operation to 
  13313.                  perform using that file:
  13314.               
  13315.                      A        Print contents of backup on printer              
  13316.               
  13317.                      B        Restore a specific account              
  13318.               
  13319.                      C        Restore all accounts              
  13320.               
  13321.                      D        Restore a specific message              
  13322.               
  13323.                      E        Restore all messages              
  13324.               
  13325.                      F        Open another backup file              
  13326.               
  13327.                      Q        Quit, finished.              
  13328.               
  13329.                  Function "A" lists the contents of the backup file on your printer.  This will be a mixture of 
  13330.                  accounts and messages and allows you to see if the account or message of interest is in that particular 
  13331.                  file.
  13332.               
  13333.                  Function "B" lets you restore a specific account if it wasaccidentally deleted.
  13334.               
  13335.                  Function "C" lets you restore all accounts in case you are trying to recover data that was 
  13336.                  accidentally deleted or to update an old BBUSERS file with current information.
  13337.  
  13338.               
  13339.  
  13340.  
  13341.  
  13342.  
  13343.  
  13344.               
  13345.                  Function "D" lets you restore a specific message that may have been accidentally deleted.
  13346.               
  13347.                  Function "E" restores all messages in case you are trying to recover data that was accidentally 
  13348.                  deleted or to update an old BBSMSGS file with current information.
  13349.               
  13350.                  Function "F" allows you to look at a backup file from a different date without "quitting" and 
  13351.                  restarting the utility program.
  13352.               
  13353.                  To bring the restored copy of your system, which may be as much as a week old, up to the current 
  13354.                  date, use functions "C" and "E" for each of the "XXyymmdd.BAK" files made since the last backup.  
  13355.                  Start with the one that has the same date as your backup, and then work forward to the latest on you 
  13356.                  have.
  13357.               
  13358.                  6.11.3. Off-line Full Backup
  13359.               
  13360.                  The most important files to save are "BB*.DAT".  Saving the "BB*.IDX" files is also nice, but 
  13361.                  you can completely rebuild these using the REBUILD2 program, with no loss of data.  If your system 
  13362.                  backs up to a tape backup system or a secondary hard disk, you can prepare a simple batch file to 
  13363.                  automatically shut down your system at 4:00 AM each day and perform a full backup.  An example of 
  13364.                  such a batch procedure might be:
  13365.               
  13366.                  
  13367.               
  13368.                  :AGAIN
  13369.               
  13370.                  BBS2   ALL   DOWN0400
  13371.               
  13372.                  COPY   C:\BBS\*.DAT   D:\BACKUP
  13373.               
  13374.                  COPY   C:\BBS\*.IDX   D:\BACKUP
  13375.               
  13376.                  IF   ERRORLEVEL   25   GOTO   AGAIN
  13377.               
  13378.                  
  13379.               
  13380.                  The BBS2.EXE program returns an exit code of 25 if it terminates because of the 
  13381.                  "DOWNhhmm" parameter.  If it exits for any other reason, then it returns an exit code of zero.
  13382.               
  13383.                  If you want to only perform a full backup on certain days, you can add a string of "Y"s and "N"s 
  13384.                  to the "DOWN0400" parameter, such as:
  13385.               
  13386.                  
  13387.               
  13388.                  :AGAIN
  13389.               
  13390.                  BBS   ALL   DOWN0400YNNNNNN
  13391.               
  13392.                  COPY   C:\BBS\*.DAT   D:\BACKUP
  13393.               
  13394.                  COPY   C:\BBS\*.IDX   D:\BACKUP
  13395.               
  13396.                  IF   ERRORLEVEL   25   GOTO   AGAIN
  13397.               
  13398.                  
  13399.               
  13400.                  For client/server systems, you should not use the "DOWNhhmm" parameter.  No BBS data is 
  13401.                  contained on the workstations.  Just let them run 24 hours a day!  The data is stored in the server, and 
  13402.                  the server automatically makes complete copies of the BBS data files at regular intervals.  You can tell 
  13403.                  the server to make backup copies as frequently as once each hour.  The backup process takes about 
  13404.                  three to five seconds.  You can save the backup copies to tape at any time.  
  13405.               
  13406.                    6.12.  Utility Programs
  13407.               
  13408.                  6.12.1. BBUTIL2 - Miscellaneous Utility Functions and Reports
  13409.               
  13410.  
  13411.               
  13412.  
  13413.  
  13414.  
  13415.  
  13416.  
  13417.                  In the operation of a BBS, it is frequently necessary to have various utility programs to perform 
  13418.                  some specific function.  If there is a separate program for each function, then the code required to do 
  13419.                  file handling is duplicated in each program.  To minimize the number of utility programs, utility 
  13420.                  functions have  been combined into one program -- BBUTIL2.  In the future, as  needs require more 
  13421.                  functions, they will be added to this same  program rather than create new programs.
  13422.               
  13423.                  Normally, you start BBUTIL2 from an OS/2 command line prompt, then execute functions from 
  13424.                  a menu.  You can also include the utility function on the command line to run in batch mode such as:
  13425.               
  13426.                  
  13427.               
  13428.                  BBUTIL2   H   Q
  13429.               
  13430.                  
  13431.               
  13432.                  to automatically run function "H".  Entering the characters "(CR)" on the command line is the same as 
  13433.                  just pressing ENTER during manual prompting.
  13434.               
  13435.                  For client/server systems, you run BBUTIL2L in an OS/2 protect mode session.  The standard 
  13436.                  version of the program (without the "L" at the end of its name) requires that you shut down the BBS 
  13437.                  before running it.  The client/server version can be  used while the BBS is still on-line.  When you start 
  13438.                  BBUTIL2L, you must tell it the name of the server that is running the BBSRVR program.  You specify 
  13439.                  this as a parameter on the start-up line, as in:
  13440.               
  13441.                  
  13442.               
  13443.                  BBUTIL2L   SRVRELIJAH
  13444.               
  13445.                  
  13446.               
  13447.                  to access a BBSRVR session running on a server named "ELIJAH".
  13448.               
  13449.                  BBUTIL2 displays the following menu:
  13450.               
  13451.                      1        Subscriber Report              
  13452.               
  13453.                      2        Create Data File of User Info              
  13454.               
  13455.                      3        Report of Downloaded Files              
  13456.               
  13457.                      4        Unload BBSMSGS.DAT to Individual Files/Messages              
  13458.               
  13459.                      5        Load BBSMSGS.DAT from Individual Message Files              
  13460.               
  13461.                      6        Load Messages/Accounts from XXyymmdd.BAK Files              
  13462.               
  13463.                      7        Mass Access Level Change              
  13464.               
  13465.                      8        Tally System Passwords              
  13466.               
  13467.                      9        Text Branching Utilities              
  13468.               
  13469.                      A        Analyze Log Data              
  13470.               
  13471.                      B        Reset Fields in User Records              
  13472.               
  13473.                      C        Create File of User Names and Addresses              
  13474.               
  13475.                      D        Delete all the Messages on a Board              
  13476.               
  13477.                      E        Load Users/Messages from Text Files              
  13478.               
  13479.                      F        Copy Messages to Another Board              
  13480.               
  13481.                      G        Tally all Responses on Matchmaker Questionnaire              
  13482.               
  13483.  
  13484.               
  13485.  
  13486.  
  13487.  
  13488.  
  13489.  
  13490.                      H        Load *.UTL to Help fFles              
  13491.               
  13492.                      I        Preload PathID-Filename-Description              
  13493.               
  13494.                      J        View Parameter File Keys and Delete Records              
  13495.               
  13496.                      K        Delete Messages by brdnnnnn              
  13497.               
  13498.                      L        Delete Users Sequentially              
  13499.               
  13500.                      M        Delete Messages Sequentially              
  13501.               
  13502.                      N        Move All Files in a Path              
  13503.               
  13504.                      O        Set Access Level for All Files              
  13505.               
  13506.                      P        Delete File Descrs. by Path              
  13507.               
  13508.                      R        Delete Individual User              
  13509.               
  13510.                      S        Save *.UTL Messages              
  13511.               
  13512.                      T        Export File Descriptions              
  13513.               
  13514.                      Q        Quit              
  13515.               
  13516.                  6.12.1.1. Subscriber Report
  13517.               
  13518.                  This function creates a report of subscribers, how much time or money remains in their account, 
  13519.                  and when their account expires.  The report can be written to a file that you specify, or can be typed or 
  13520.                  printed on your printer.
  13521.               
  13522.                  6.12.1.2. Create a File of User Info
  13523.               
  13524.                  Some system operators, who know how to program in dBase or some other language, frequently 
  13525.                  want to be able to manipulate the user data with their own programs.  This function will create a file 
  13526.                  named USERS.DAT which is a simple sequential file containing user information.  Each user's 
  13527.                  information is contained on a single line (or record).  The first record in the file is a heading which 
  13528.                  shows what information is in each field.  The data is "comma separated" for those programs that require 
  13529.                  a comma between each data field.
  13530.               
  13531.                  6.12.1.3. Report of Downloaded Files
  13532.               
  13533.                  This function lists all the downloadable files first in order of how often the file was downloaded, 
  13534.                  then in order by date of last download.  This allows you to delete files which are not being downloaded.
  13535.               
  13536.                  6.12.1.4. Unload BBSMSGS.DAT to Individual Files/Message
  13537.               
  13538.                  This function creates a separate file from every message in your system.  On rare occasions, when 
  13539.                  your message file, BBSMSGS.DAT is severely damaged, you may need to do this, then delete the 
  13540.                  message file, and reload it using function 5, below.  Beyond about 200 files in a single directory, it 
  13541.                  takes a FAT filing system a fairly long time to open a file, approaching five seconds as you get to 1,000 
  13542.                  files.  If your message file contains 5,000 messages, it will take about seven hours to execute this 
  13543.                  function on a fast 486 system.  The OS/2 HPFS (High Performance File System) can reduce this time to 
  13544.                  about twenty minutes, but you should NEVER make your boot drive an HPFS drive because it easily 
  13545.                  becomes impossible to boot your system or read the data if you don't shut down the HPFS drive 
  13546.                  properly.
  13547.               
  13548.                  6.12.1.5. Load BBSMSGS.DAT from Individual Message Files
  13549.               
  13550.                  This function will read the current directory for any files with names beginning with "XXX" (to 
  13551.                  retrieve all the "XXXnnnnn.bbb" files created by function 4, above) and will make them into messages 
  13552.                  on your BBS.  If you have the backup level ("PP" command, option "F") set to 3 or 4 so the system 
  13553.                  creates a file for each message added, changed, or deleted, then you can load the messages back in with 
  13554.                  this function.  This function is the reverse of function 4, above.  Like function 4, it can execute for 
  13555.                  seven hours if you try to load 5,000 messages from a FAT (DOS compatible) directory.
  13556.  
  13557.               
  13558.  
  13559.  
  13560.  
  13561.  
  13562.  
  13563.               
  13564.                  Another use for this function is to load your message database with a set of messages prepared 
  13565.                  off-line by a text editing program or, perhaps, another database tool, like  dBase.  Name your files 
  13566.                  "XXXnnnnn.bbb", where "nnnnn" is the message number and "bbb" is the three character sub-board 
  13567.                  abbreviation where you want the message to appear.  See function "E", below, for an alternative method 
  13568.                  of loading user accounts and messages from text files.
  13569.               
  13570.                  6.12.1.6. Load Messages/Accounts from XXyymmdd.BAK
  13571.               
  13572.                  This function is used to restore files made by automatic incremental backups, as in settings 1 and 
  13573.                  2 for option "F" of the "PP" setup command.  When you select function 6, you are  prompted with an 
  13574.                  additional submenu, as follows:
  13575.               
  13576.                  
  13577.               
  13578.                  Backup file name (XXyymmdd.BAK):
  13579.               
  13580.                  A - Print contents of backup on printer
  13581.               
  13582.                  B - Restore specific account
  13583.               
  13584.                  C - Restore all accounts
  13585.               
  13586.                  D - Restore specific message
  13587.               
  13588.                  E - Restore all messages
  13589.               
  13590.                  F - Open another backup file
  13591.               
  13592.                  Q - Quit, finished.
  13593.               
  13594.                  
  13595.               
  13596.                  You are first prompted for which backup file to use as input.  A new file is created every day, so 
  13597.                  enter the complete name which includes the date.  Start with the file that was created on the date of the 
  13598.                  full backup which you just restored, and then use each file sequentially into you finish the current file.
  13599.               
  13600.                  Function "A" lists the contents of the backup file on your printer.  This will be a mixture of 
  13601.                  accounts and messages and allows you to see if the account or message of interest is in that particular 
  13602.                  file.
  13603.               
  13604.                  Function "B" lets you restore a specific account if it was accidentally deleted.
  13605.               
  13606.                  Function "C" lets you restore all accounts in case you are trying to recover data that was 
  13607.                  accidentally deleted or to update an old BBUSERS file with current information.
  13608.               
  13609.                  Function "D" lets you restore a specific message that may have been accidentally deleted.
  13610.               
  13611.                  Function "E" restores all messages in case you are trying to recover data that was accidentally 
  13612.                  deleted or to update an old BBSMSGS file with current information.  Another reason you may need to 
  13613.                  use this option is because of a bad date.  If you run Bulletron with a date well into the future, then 
  13614.                  Bulletron will "think" that the messages and accounts are over expired and therefore need to be deleted.  
  13615.                  It will then go through and delete all of your users and messages.  What you would do in this case (after 
  13616.                  you set the correct date) is to restore to a prior backup copy of your BBUSERS and BBSMSGS files 
  13617.                  and run this option to restore all the data that was deleted.
  13618.               
  13619.                  Function "F" allows you to look at a backup file from a different date without "quitting" and 
  13620.                  restarting the utility program.
  13621.               
  13622.                  6.12.1.7. Mass Access Level Change
  13623.               
  13624.                  This function allows you to quickly change the access levels of all of your users on an individual 
  13625.                  basis.  The procedure is somewhat complex, so when you enter 7 to use this function, you will receive 
  13626.                  help information explaining how to use this utility function in more detail.  This is used when you want 
  13627.                  to totally change the access level and SIG structure at an installation which already has an established 
  13628.                  user base.  You can also change some things and leave other access levels or SIGs unchanged by using 
  13629.  
  13630.               
  13631.  
  13632.  
  13633.  
  13634.  
  13635.  
  13636.                  -1 for numeric fields or "*" in the SIG list of those fields that you want to remain unchanged.
  13637.               
  13638.                  6.12.1.8. Tally System Passwords
  13639.               
  13640.                  When a new user logs on, the system may (depending on whether you have the option activated) 
  13641.                  prompt for a system password with the prompt "If you know what the system is about, enter the system 
  13642.                  password."  The system password that a user enters is retained in his record.  This function reads the 
  13643.                  entire user file and creates a report listing how many users have logged on with each password and how 
  13644.                  many have become  subscribers.  It reports on all passwords that users entered, not just passwords that 
  13645.                  you may have defined with the "PXS" command.  It also lists the account code of the first person using 
  13646.                  that password.  This is useful if only one user entered a particular word and you want to know who 
  13647.                  entered that word for a password.
  13648.               
  13649.                  6.12.1.9. Text Branching Utilities
  13650.               
  13651.                  This function performs those commands that build and test the data for the text branching feature.  
  13652.                  Details of the functions are described in the chapter on text branching.
  13653.               
  13654.                  6.12.1.10.  Analyze Log Data
  13655.               
  13656.                  This function analyzes one or more log files and selects certain records.  It prompts you whether 
  13657.                  to send the output, to a printer or a file, and the input log file name.  Because there is a different log file 
  13658.                  for each month, you must manually enter the name of the log file that you want to use.  After reading 
  13659.                  through one log file, you will be prompted for  additional files.  Pressing [ENTER] ends the search and 
  13660.                  begin the reporting phase.  The following reports are available:  
  13661.               
  13662.                       Report on ALL users
  13663.               
  13664.                       Report on specific users (up to 10)
  13665.               
  13666.                       List all downloads
  13667.               
  13668.                       List SYSOP account changes (anything done with the "+" command on user accounts).
  13669.               
  13670.                       Serious error report
  13671.               
  13672.                       System usage report
  13673.               
  13674.                       Other log messages not contained in the above reports.
  13675.               
  13676.                  6.12.1.11.  Reset Fields in User Records
  13677.               
  13678.                  This function allows you to switch from 3-line personal descriptions to name/address and back.  
  13679.                  It also lets you clear certain numeric fields, for those sites switching from an older version of Bulletron 
  13680.                  to the new versions.  You will be prompted for:  
  13681.               
  13682.                      1 - Numeric fieldsUse this option if you find large numbers in the users upload, download, 
  13683.                      comments, messages, and access level fields.              
  13684.               
  13685.                      2 - Description/Name/Address   Use this option if you are switching from 3-line  personal 
  13686.                      descriptions to name/address or name/address to 3-line descriptions.              
  13687.               
  13688.                      3 - Chat and Download Access Levels   Use this option to set the chat time access level and 
  13689.                      the download time access level.              
  13690.               
  13691.                      4 - "Class" Code  Use this option to clear the class code fields.              
  13692.               
  13693.                      5 - Lines/screen to 23   Use this option when upgrading from Oracomm  version 6 or less to 
  13694.                      Bulletron.              
  13695.               
  13696.                  6.12.1.12.  Create File of User Names and Addresses
  13697.               
  13698.                  Those sites using the name/address functions (instead of the 3-line description) can use this 
  13699.                  feature to create a simple ASCII text file of user's name, address, and telephone numbers.  This text file 
  13700.                  can then be input into your own database program to produce labels or other reports.
  13701.               
  13702.  
  13703.               
  13704.  
  13705.  
  13706.  
  13707.  
  13708.  
  13709.                  6.12.1.13.  Delete all messages from a specific board
  13710.               
  13711.                  If you want to delete all the messages on a specific sub-board, this function can do it quicker than 
  13712.                  reading and deleting each message individually.  This function can save  you some time when you want 
  13713.                  to delete a sub-board with a lot of messages on it.
  13714.               
  13715.                  6.12.1.14.  Load Users/Messages from Text Files
  13716.               
  13717.                  This function can take a simple ASCII text file of users or messages, and load it into your 
  13718.                  Bulletron BBS data files.
  13719.               
  13720.                  To create accounts, create a plain ASCII text file in which each line, or record, contains the 
  13721.                  account information for  one user, in the following format:
  13722.               
  13723.                  
  13724.               
  13725.                  Starting    Number of
  13726.               
  13727.                  Column     Columns        Contents
  13728.               
  13729.                  -------------------------------------------------------------
  13730.               
  13731.                         1              8                  account code
  13732.               
  13733.                         9              8                  password
  13734.               
  13735.                       17            20                 name or handle
  13736.               
  13737.                       37            20                 city and state
  13738.               
  13739.                       57            30                 SIGs
  13740.               
  13741.                  
  13742.               
  13743.                  To load the BBS files from your text file of users, simply select option "1".  You will be 
  13744.                  prompted for the access level to assign to each of the users that it adds.  You will then be prompted for 
  13745.                  the file name of the text file which BBUTIL2 should read to get the data.  If an account in your text file 
  13746.                  already exists in the BBS files, it will NOT be added or updated.
  13747.               
  13748.                  To load messages from a text file, make a plain ASCII text file with records separated by a line of 
  13749.                  eight dashes (-). It takes a minimum of three lines in your text file to define one message.  The first line 
  13750.                  contains the sub-board abbreviation, message date, "from" account and "to" account, in the following 
  13751.                  format:
  13752.               
  13753.                  
  13754.               
  13755.                  Starting     Number of
  13756.               
  13757.                  Column     Columns        Contents
  13758.               
  13759.                  -------------------------------------------------------------
  13760.               
  13761.                         1             3                   sub-board abbreviation
  13762.               
  13763.                         4           10                   date and time in YYMMDDHHMM format
  13764.               
  13765.                       14             8                   "from" account code
  13766.               
  13767.                       22             8                   "to" account code
  13768.               
  13769.                  
  13770.               
  13771.                  The second line of each message record contains the message summary, up to 32 characters.  The 
  13772.                  third line begins the message text.  Use as many lines as you like, but be sure that the total length of the 
  13773.                  message text does not exceed 9,000 characters and that each line is 72 characters or less.  End each 
  13774.                  message record with a line of eight dashes.  To put messages on your system, select option "2".  You 
  13775.  
  13776.               
  13777.  
  13778.  
  13779.  
  13780.  
  13781.  
  13782.                  will  be prompted for the starting message number you wish to use.  The number must be larger than 
  13783.                  999 and less than 99999.  The message number should also be larger than the last message  number 
  13784.                  which displays with the "PXC" command.  You should use the "PXC" command to update the next 
  13785.                  message number after loading the messages also.  You can mix messages for several sub-boards within 
  13786.                  the text file.  If you were loading messages about cameras, cars, and stamps for instance, you would 
  13787.                  want three sub-boards probably with abbreviations "CAM", "CAR", and "STP".  You could then load 
  13788.                  all your messages into a single text file starting each message with "CAM", "CAR", or "STP", or you 
  13789.                  can make three text files and run BBUTIL2 three times.  Whatever the highest message number is when 
  13790.                  you are finished loading, it is advisable to use the "PXC" command on-line to update the message 
  13791.                  counter with the next available message number.  You may want to have a skeleton file containing only 
  13792.                  help files, and reload the messages and users every week.
  13793.               
  13794.                  6.12.1.15.  Move Messages to a New Board
  13795.               
  13796.                  This function is useful to rename a sub-board, change the sub-board abbreviation, or move all the 
  13797.                  messages from one  sub-board to another.  Use the "PB" command when the system is on-line to create 
  13798.                  the new sub-board, then go off-line and use this function of BBUTIL2 to move the messages over, then 
  13799.                  go back on-line again and use the "PB" command to delete the old sub-board.
  13800.               
  13801.                  6.12.1.16.  Tally Matchmaker Responses
  13802.               
  13803.                  This will read through all the matchmaker responses for a specific sub-board and create a table of 
  13804.                  entries, 30 X 16, showing the counts of that response in the questionnaire.
  13805.               
  13806.                  6.12.1.17.  Load *.UTL to Help Files
  13807.               
  13808.                  If all of your help messages, menus, and prompts are on disk in separate files and all the files 
  13809.                  have the extension ".UTL" (which probably matches the sub-board abbreviation for your "utilities" 
  13810.                  sub-board), then you can use this function automatically load all of these files into your "utilities" 
  13811.                  sub-board.  When it places the new messages on your  "utilities" sub-board, it also removes the old 
  13812.                  copies of the messages and creates a file on disk for each one.  These files have the same names as the 
  13813.                  "to" account codes for the messages and extensions of ".001".  If your disk directory already has ".001" 
  13814.                  messages, then it uses a file name extension of ".002", then ".003, and so forth.  This saves having to 
  13815.                  enter "E@" filename, etc.., then "RA", delete, etc.., for every file.  If you make an ANSI or RIP graphic 
  13816.                  screen that is longer than the 9,000 byte message size limitation, don't give it a second thought.  
  13817.                  BBUTIL2 will automatically create as many additional messages as are needed to hold your file and 
  13818.                  link them together.  When you look at your "utilities" sub-board, you may see messages addressed to a 
  13819.                  pseudo-account named "AUTOLINK".  These are the extra messages generated automatically by 
  13820.                  BBUTIL2.  Conversely, when BBUTIL2 saves the old messages to disk it links them back together into 
  13821.                  single files.
  13822.               
  13823.                  6.12.1.18.  Preload PathID-Filename-Description
  13824.               
  13825.                  This function loads the file desctiptions in Bulletron's download database from an ASCII text file 
  13826.                  that you can prepare off-line using a text editor.  Each line of the text file creates a description record 
  13827.                  for one file in the Download Database.  Put the four character path-id for path where you put the file in 
  13828.                  columns 1 through 4 of each record.  Put the file name and extension in columns 5 through 16.  If the 
  13829.                  file name and extension are less than twelve characters, including the separating period, then space fill 
  13830.                  the file name and extension on the right.  Begin the description of the file in column 17.  The 
  13831.                  description can be as long as you like, to a maximum of 9,000 characters.  Your text editing program 
  13832.                  will probably limit you to 254 characters per line.  The record ends and BBUTIL2 expects a new record 
  13833.                  to start, at each carriage return in the input file.  If you want to indicate where line breaks should be in 
  13834.                  your description, put line feed characters (CTRL/J), without carriage returns in the text.
  13835.               
  13836.                  You can also use this function to automatically load in file descriptions stored in "FILES.BBS" 
  13837.                  files on your hard disk or CD-ROM.  When these description files are present, there will be one in each 
  13838.                  directory of the disk or CD.  BBUTIL2 will search all of the paths that you have defined for your 
  13839.                  system, using the "PF" command, and whenever it finds a file  named "FILES.BBS" in one of them, it 
  13840.                  will create or update the entries in the Download Database using the information found in the 
  13841.                  "FILES.BBS" file.  Only files that actually exist in that directory are updated;  if "FILES.BBS" contains 
  13842.                  descriptions for files that are not really there, then they are ignored.
  13843.               
  13844.                  This function updates the date and time of upload for Download Database entries, so that, the 
  13845.                  next time that your users log on, the files will appear as new using the "FC" and "FL" commands, 
  13846.                  because the files are new to your system, even though they may be several years old.
  13847.               
  13848.  
  13849.               
  13850.  
  13851.  
  13852.  
  13853.  
  13854.  
  13855.                  6.12.1.19.  View Parameter File Keys and Delete Records
  13856.               
  13857.                  This command should never be needed, but it is provided to allow direct deletion of records from 
  13858.                  the BBS parameters file.  The key to each record is displayed in ASCII and hexadecimal format, in the 
  13859.                  first six bytes of each record, and Bulletron asks you whether or not to delete the record.  The Bulletron 
  13860.                  Professional Developers' Kit, which is sold separately, explains the format and contents of each of these 
  13861.                  records.
  13862.               
  13863.                  6.12.1.20.  Delete Messages by brdnnnnn
  13864.               
  13865.                  This command should never be needed, but it is provided to allow viewing and deleting records 
  13866.                  in the BBS message file when the board (brd) and message number (nnnnn) are known.  Occasionally, 
  13867.                  after a power failure, when you run REBUILD2, it will display error messages or just fail trying to 
  13868.                  rebuild the data file.  The primary key for the message file is the  3-character sub-board abbreviation 
  13869.                  and the message number (the first eight bytes of each record).  REBUILD2 should display the primary 
  13870.                  record key when it encounters an error, or just before it fails.  Delete the problematic message using this 
  13871.                  function.
  13872.               
  13873.                  6.12.1.21.  Delete Users Sequentially
  13874.               
  13875.                  This command should never be needed, but it is provided to allow viewing and deleting records 
  13876.                  in the BBS user file sequentially.  The user account code will be displayed in ASCII and hexadecimal 
  13877.                  format, in the first eight bytes of each record, and BBUTIL2 will prompt to delete the record or display 
  13878.                  the next record.
  13879.               
  13880.                  6.12.1.22.  Delete Messages Sequentially
  13881.               
  13882.                  This command should never be needed, but it is provided to allow viewing and deleting records 
  13883.                  in the message file  sequentially.
  13884.               
  13885.                  6.12.1.23.  Move All Files in a Path
  13886.               
  13887.                  This function scans through the Download Database and changes all occurrences of one path-id 
  13888.                  to a different path-id.  It does not move or copy any of the actual files.
  13889.               
  13890.                  6.12.1.24.  Set Access Level for All Files
  13891.               
  13892.                  Although you may have certain files hidden from some users by placing them in directories 
  13893.                  which are only visible from sub-boards which those users can not access, if a user knows the exact 
  13894.                  name of a file, he may be able to download it by virtue of the fact that Bulletron does search out files 
  13895.                  automatically if they are not found on the currently selected sub-board.  If you have enabled the system 
  13896.                  to automatically produce an ALLFILES.TXT file which users can download, then unprivileged users 
  13897.                  will have the exact file names.  This function can be used to quickly set the access level for all files in 
  13898.                  your system so that only users above a certain access level can actually download them.  Then, if there 
  13899.                  are some files that you do want to make available to non-priveleged users, you can log on to your BBS 
  13900.                  and use the "+F 3" command to set the access level for those files lower.
  13901.               
  13902.                  6.12.1.25.  Delete File Descrs. by Path
  13903.               
  13904.                  This function allows you to quickly remove all of the records in the Download Database 
  13905.                  referencing a certain path-id.  You can use this to recover disk space in the BBDOWNLD.DAT file 
  13906.                  after deleting a path-id from your system.  If provides an option to allow you to view each file 
  13907.                  description and selectively delete those that you do not want.  You might want to use this after loading 
  13908.                  up your Download Database from FILES.BBS files on a CD-ROM, using function "I" to hide certain 
  13909.                  files that your users might find objectionable .
  13910.               
  13911.                  6.12.1.26.  Delete Individual User
  13912.               
  13913.                  This function can be used while the system is off-line to delete the account record for a user, all 
  13914.                  mail from or to that user, and all matchmaker response records for that user.
  13915.               
  13916.                  6.12.1.27.  Save *.UTL Messages
  13917.               
  13918.                  This function performs the inverse of BBUTIL2 Function "H".  It reads through your "utilities" 
  13919.                  sub-board and creates a file from each message it finds there.  The files will be named with the name of 
  13920.                  the "to" account for the message, and a file name extension of ".001".  If a ".001" file for that message 
  13921.  
  13922.               
  13923.  
  13924.  
  13925.  
  13926.  
  13927.  
  13928.                  already exists, then it will try to make a ".002" file, and so forth.  You can use this function to quickly 
  13929.                  create a complete set of "*.UTL" files that reflect your BBS.  Of course, before doing this, you should 
  13930.                  be careful to delete any "*.001" messages, then afterwards use
  13931.               
  13932.                  
  13933.               
  13934.                  RENAME   *.001   *.UTL
  13935.               
  13936.                  
  13937.               
  13938.                  from a n OS/2 command line prompt to prepare the files to be used by BBUTIL2 Function "H".
  13939.               
  13940.                  6.12.1.28.  Export File Descriptions
  13941.               
  13942.                  This function performs the inverse of BBUTIL2 function "I".  It creates a flat ASCII text file 
  13943.                  from your Download Database, in which each record consists of the path-id in the first four columns, 
  13944.                  the file name in the next 12 columns, and the file description beginning at column 17.  If you plan to do 
  13945.                  massive editing of file descriptions, then you may find it convenient to export the Download Database 
  13946.                  with this function, edit it with your favorite text editor or word processor, then reload the finished result 
  13947.                  using function "I".
  13948.               
  13949.                  6.12.2. REBUILD2 - Index File Creation
  13950.               
  13951.                  If you lose power to the computer or some other tragedy occurs which causes the BBS files to 
  13952.                  become corrupted, run this utility and the index files will be reconstructed.  Any time that Bulletron 
  13953.                  terminates abnormally, the index files, which are cached in RAM until the BBS shuts down, are not 
  13954.                  written back to the disk and the files are not closed properly.  If you get any of the C-Tree errors while 
  13955.                  the BBS is running, then run REBUILD2 to see if that fixes the problem.  To run REBUILD2, simply 
  13956.                  enter
  13957.               
  13958.                  
  13959.               
  13960.                  REBUILD2
  13961.               
  13962.                  
  13963.               
  13964.                  at an OS/2 command prompt.
  13965.               
  13966.                  For the client/server version, you must stop BBSRVR before running REBUILD2.
  13967.               
  13968.                  6.12.3. COMPACT2 - Data File Compaction
  13969.               
  13970.                  The b-tree  (balanced binary tree) database engine used in Bulletron does use space vacated by 
  13971.                  deleted messages.  However, space can still be wasted.  Consider the following scenario.  A 200-byte 
  13972.                  message has a comment added making it a 250-byte message.  Since the database engine cannot put the 
  13973.                  record back into the same location, it deletes the 200-byte message and adds the 250-byte message to 
  13974.                  the end of the file.  A new 150-byte message is later added and is placed in the area vacated by the 
  13975.                  200-byte message.  Since it is unlikely that there will ever be a 50-byte message, those 50 bytes are 
  13976.                  wasted.  If this process occurs hundreds of times every week, then a significant amount of wasted space 
  13977.                  can accumulate in the message file.  The COMPACT2 utility should be used periodically to compress 
  13978.                  the file and remove the wasted space.  Before running COMPACT2, be sure to back up the files.  It is 
  13979.                  recommended that COMPACT2 be run after doing your normal weekly backup.  If there are bad record 
  13980.                  headers in your message file, indicating that free spaces exist where they, in fact, do not, the 
  13981.                  COMPACT2 program can magnify this damage, making your message file unusable.  Make sure that 
  13982.                  you do not delete the old message file before you are sure that the new one is free from errors.  If your 
  13983.                  message file does become corrupt in such a way that you can not compact it, you have three 
  13984.                  alternatives:  
  13985.               
  13986.                      1.    Use BBUTIL2, function "4" to take the message file apart into individual files for each 
  13987.                      message, delete the old message file, and load your messages back into a virgin copy of  the 
  13988.                      message file (from your release diskettes).  This process can take  twenty hours or more if you 
  13989.                      have a large number of messages.
  13990.               
  13991.                      2.    Send a copy of your message file to IDK Computer Systems, and for $95 we will patch it 
  13992.                      manually to fix the record pointers.  Turnaround time can be a little as one hour for this 
  13993.                      process if you transmit the file to us by modem.
  13994.  
  13995.               
  13996.  
  13997.  
  13998.  
  13999.  
  14000.  
  14001.               
  14002.                      3.    If you feel comfortable working with hexadecimal (base 16) arithmetic, then you can probably 
  14003.                      patch the files yourself.  Full instructions are given in section 6.13.
  14004.               
  14005.                  In most cases, however, running the COMPACT2 program will remove any inconsistencies in 
  14006.                  the internal record headers, making working files from ones that did not work before.  You can compact 
  14007.                  each file by entering the following:
  14008.               
  14009.                  
  14010.               
  14011.                  COMPACT2   BBPARMS
  14012.               
  14013.                  COMPACT2   BBSMSGS
  14014.               
  14015.                  COMPACT2   BBUSERS
  14016.               
  14017.                  COMPACT2   BBMMANS
  14018.               
  14019.                  COMPACT2   BBSUBQU
  14020.               
  14021.                  COMPACT2   BBADBPL
  14022.               
  14023.                  COMPACT2   BBDOWNLD
  14024.               
  14025.                  REBUILD2
  14026.               
  14027.                  
  14028.               
  14029.                  at an OS/2 command prompt.
  14030.               
  14031.                  Note that REBUILD2 must be run after running COMPACT2 to  recreate the index files.  Backup 
  14032.                  files (files named with the data file name and extension ".BAK") are created for each of the files 
  14033.                  compacted and may be deleted with the OS/2 delete command when you are certain that the files are 
  14034.                  intact.
  14035.               
  14036.                    6.13.  Repairing Damaged Data Files by Hand
  14037.               
  14038.                  In certain catastrophic situations, BBS data files may become damaged in such a way that the 
  14039.                  REBUILD2 program is unable to reconstruct them.  The primary purpose of the REBUILD2 program is 
  14040.                  to construct the index (".IDX") files, but it will also repair some types of minor damage to the data files 
  14041.                  as well.  In some  cases, however, damage to the data files is so severe, that human intelligence is 
  14042.                  required for their reconstruction.  In the event that one of your BBS data files should become damaged 
  14043.                  in such a way that the REBUILD2 program ends in a fatal error trying to reconstruct the data file, this 
  14044.                  information should be sufficient to allow you to manually reconstruct the file to the point where 
  14045.                  REBUILD2 can run to completion.
  14046.               
  14047.                  The most common cause of file corruption of this sort is a power failure during the middle of a 
  14048.                  write operation.  Every update to a data file involves several disk writes to different parts of the file to 
  14049.                  maintain linked lists and pointers required for rapid file access.  If power is lost when some of those 
  14050.                  write operations are incomplete, then subsequent use of the file will result in data being written to the 
  14051.                  wrong locations, compounding the problem.
  14052.               
  14053.                  The second most common cause of file corruption is having data files and index files out of sync 
  14054.                  with each other.  The BBS programs use the index files to locate records in the data files. If you restore 
  14055.                  a data file from backup, or copy in a data file, without copying in the corredponding index, then the 
  14056.                  BBS programs will write records to the wrong locations and destroy your data.  When in doubt, the 
  14057.                  index files should always be considered expendable.  They can be deleted and rebuilt by the 
  14058.                  REBUILD2 program at any time.
  14059.               
  14060.                  There are two types of data files used by Bulletron:  those with fixed length records and those 
  14061.                  with variable length records.  They are quite different in structure.  To manually reconstruct the file(s), 
  14062.                  you must have a sector editor program that lets you modify the contents of binary data files on the disk.  
  14063.                  We recommend a sector editor program named SEDIT, which is part of GammaTech Utilities (TM).  
  14064.                  GammaTech Utilities can be purchased for about $150 from:
  14065.               
  14066.                  
  14067.  
  14068.               
  14069.  
  14070.  
  14071.  
  14072.  
  14073.  
  14074.               
  14075.                  SofTouch Systems, Inc.
  14076.               
  14077.                  Workstation Division
  14078.               
  14079.                  1300 South Meridian, Suite 600
  14080.               
  14081.                  Oklahoma City, Oklahoma 73108
  14082.               
  14083.                  
  14084.               
  14085.                  The fixed record length data files used by Bulletron are:
  14086.               
  14087.                  BBUSERS.DAT
  14088.               
  14089.                  BBMMANS.DAT
  14090.               
  14091.                  BBFREF.DAT
  14092.               
  14093.                  BBFNODES.DAT
  14094.               
  14095.                  The variable record length data files are:
  14096.               
  14097.                  BBPARMS.DAT
  14098.               
  14099.                  BBSMSGS.DAT
  14100.               
  14101.                  BBSUBQU.DAT
  14102.               
  14103.                  BBADBPL.DAT
  14104.               
  14105.                  BBDATBAS.DAT
  14106.               
  14107.                  BBDOWNLD.DAT
  14108.               
  14109.                  *** IMPORTANT NOTE ***
  14110.               
  14111.                  *** IMPORTANT NOTE ***
  14112.               
  14113.                  *** IMPORTANT NOTE ***
  14114.               
  14115.                  It can not be overstressed that, if you make any changes to any of the BBS data files by hand, 
  14116.                  then YOU MUST DELETE THE CORRESPONDING ".IDX" FILE(S) AND RUN REBUILD2.  The 
  14117.                  BBS programs rely on the integrity of the index files to locate the records in the data files.  If the index 
  14118.                  files and data files get out of sync, then read operations will return garbage and write operations will 
  14119.                  permanently destroy your data.
  14120.               
  14121.                  6.13.1. Fixed Record Length Format
  14122.               
  14123.                  Each fixed record length file begins with a header record of known size, then data records placed 
  14124.                  one right after the other in the rest of the file.  There will usually be some unused space at the end of the 
  14125.                  file that has been pre-allocated by the database engine for adding new records.  The length of the initial 
  14126.                  header record for each of the data files with fixed length records is given in the table below:
  14127.               
  14128.                  
  14129.               
  14130.                  File Name               Record Length      Header Length
  14131.               
  14132.                  ------------------------------------------------------------------------------------------------
  14133.               
  14134.                  BBUSERS.DAT           1024                        2048
  14135.               
  14136.                  BBMMANS.DAT             128                       2304
  14137.               
  14138.                  BBFREF.DAT                    68                          204
  14139.               
  14140.  
  14141.               
  14142.  
  14143.  
  14144.  
  14145.  
  14146.  
  14147.                  BBFNODES.DAT           337                          674
  14148.               
  14149.                  
  14150.               
  14151.                  Within the header record, the 32-bit number that indicates the last byte used for file data is at 
  14152.                  offset zero.  The 32-bit number that indicates the offset of the last record deleted is at offset 4.  The 
  14153.                  32-bit number that indicates the offset of the last byte written in the file is at offset 8, and the 32-bit 
  14154.                  number that indicates the total number of active records is at offset 28.
  14155.               
  14156.                  6.13.2. Variable Record Length Format
  14157.               
  14158.                  As in the fixed record length data files, variable record length data files have a space reserved at 
  14159.                  the beginning for control information.  This reserved area is, however, always 287 bytes long.  The first 
  14160.                  data record always starts at an offset of 287 bytes into the file.  Each record in a variable record length 
  14161.                  file is prefixed by  ten bytes of control information.  This ten byte record header is::
  14162.               
  14163.                  
  14164.               
  14165.                  Offset    Length  Contents
  14166.               
  14167.                  -------------------------------------------------
  14168.               
  14169.                  0             2             Record Mark
  14170.               
  14171.                  2             4             Offset to Next Record
  14172.               
  14173.                  6             4              Length of this Record
  14174.               
  14175.                  
  14176.               
  14177.                  The number stored in the "record mark" field can have one of the following four hexadecimal 
  14178.                  values:
  14179.               
  14180.                  
  14181.               
  14182.                  Value           Meaning
  14183.               
  14184.                  -----------------------------------------------
  14185.               
  14186.                  FAFA         Active Record
  14187.               
  14188.                  FBFB         Empty Block
  14189.               
  14190.                  FDFD         Deleted Record
  14191.               
  14192.                  FFFF          End of File
  14193.               
  14194.                  
  14195.               
  14196.                  Knowing the byte offset into the file of any record header, the byte offset of the next record 
  14197.                  header is computed by adding the "offset to next record" word to the byte offset of the current record 
  14198.                  header.  Any time that the "offset to next record" word and the "bytes in this record" word differ, that 
  14199.                  indicates that there is an empty block between the records that may be used for writing another record, 
  14200.                  or squeezed out using the COMPACT2 utility program.  
  14201.               
  14202.                  One common error that can occur is when an "offset to next record" word is less than the "bytes 
  14203.                  in this record" word.  Another common error is when the word that is supposed to begin a record header 
  14204.                  is not one of the four acceptable values for a record mark.  In general, it is not possible to completely 
  14205.                  automate the recalculation of record headers because human intelligence is required to determine the 
  14206.                  location of the next record by interpreting the data.  
  14207.               
  14208.                  6.13.3. SCANLINX - File Structure Analysis
  14209.               
  14210.                  SCANLINX is an analysis tool that we provide with Bulletron, that you can use to study the links 
  14211.                  between records in the variable record length data files used by your BBS.  It may become necessary 
  14212.                  for you to manually  reconstruct these links in the event of a catastrophic failure, like a power failure, or 
  14213.  
  14214.               
  14215.  
  14216.  
  14217.  
  14218.  
  14219.  
  14220.                  a BBS program started with one or more  index file(s) out of sync with the corresponding data file(s).
  14221.               
  14222.                  SCANLINX will read through any variable record length data file  and generate a report that will 
  14223.                  show you if, and where, bad links exist.  The report is stored in a file named "SCANLINX.LOG".  This 
  14224.                  is a plain, ASCII, text file which you can print or review using your favorite text editing program.  In 
  14225.                  the report, it will show you, in decimal and hexadecimal, the offsets of all the record headers that it 
  14226.                  finds, the values in the record marks, the indicated byte offset of the next record, the length of the 
  14227.                  current record, and the first few bytes of the record.  Using this information, you can then use a disk 
  14228.                  editing program like SEDIT to go directly to the problem area and correct the bad record links.
  14229.               
  14230.                  You execute SCANLINX form an OS/2 command prompt by entering:
  14231.               
  14232.                  
  14233.               
  14234.                  SCANLINX   file
  14235.               
  14236.                  
  14237.               
  14238.                  where "file" can be "BBPARMS", "BBSMSGS", "BBSUBQU", "BBADBPL", "BBDOWNLD" or 
  14239.                  "BBDATBAS".  The meaning of the information reported in SCANLINX.LOG will be obvious after 
  14240.                  reading section 6.13.2, above.
  14241.               
  14242.                  6.13.4. SEDIT Example
  14243.               
  14244.                  SEDIT, as mentioned above, is part of a package named "GammaTech Utilities", from SofTouch 
  14245.                  Systems, Inc.  SEDIT is a simple program that displays the contents of any disk file in hexadecimal 
  14246.                  numbers, and lets you modify them.  There are many other programs that perform the same function, 
  14247.                  most of them written for the DOS operating system, including DEBUG, but we are most familiar with 
  14248.                  SEDIT, so we will illustrate disk file repair in terms of a program with which we are familiar.
  14249.               
  14250.                  You start SEDIT from a command line prompt by entering the following command:
  14251.               
  14252.                  
  14253.               
  14254.                  SEDIT    file
  14255.               
  14256.                  
  14257.               
  14258.                  where "file" is the full file name, including the ".DAT" file name  extension, of the file that you wish to 
  14259.                  inspect or modify.  SEDIT will them display the first half of the first sector, sector 0, of the file.  To 
  14260.                  view the second half of the sector, press the END key.  To go back to the first half of the sector, press 
  14261.                  HOME.  You can move the cursor around any displayed sector data using the  cursor arrow keys.
  14262.               
  14263.                  If you press the PGDN key, SEDIT moves one sector ahead in the file.  If you press the PGUP 
  14264.                  key, it moves back one sector.  The current sector number is displayed in hexadecimal in the upper right 
  14265.                  corner of the screen.  Be careful not to confuse a full screen of data with a sector.  A disk sector is 512 
  14266.                  bytes.  A full screen of data for SEDIT is 256 bytes.  You must use the END key to get to the second 
  14267.                  half of a sector, as PGDN skips over the  second half, taking you to the next sector.
  14268.               
  14269.                  Along the left margin of the screen, SEDIT displays the offset into the sector of the first byte 
  14270.                  displayed on each line.  To compute the actual offset of any displayed byte in the file, you must 
  14271.                  multiply the current sector number (shown in the upper, right corner of the screen) by 512 (200 
  14272.                  hexadecimal) and add the offset within the sector.  If you compute a new byte offset into the file, you 
  14273.                  must divide that offset by 512 to compute the sector number for the sector in which that byte is found.  
  14274.                  As an example, consider the following excerpt from an actual SCANLINX.LOG file produced from a 
  14275.                  BBSMSGS.DAT file.
  14276.               
  14277.                  
  14278.               
  14279.                  Examining offset 357463(57457)
  14280.               
  14281.                     Record mark found = FAFA
  14282.               
  14283.                     Offset to next record = 4175(104F)
  14284.               
  14285.                     Record length = 4056(FD8)
  14286.  
  14287.               
  14288.  
  14289.  
  14290.  
  14291.  
  14292.  
  14293.               
  14294.                     Key value = UTL45197
  14295.               
  14296.                  
  14297.               
  14298.                  Examining offset 361648(584B0)
  14299.               
  14300.                     Record mark found = FDFD
  14301.               
  14302.                     Offset to next record = 11374(2C6E)
  14303.               
  14304.                     Record length = 0(0)
  14305.               
  14306.                     Key value = UTL45107
  14307.               
  14308.                  
  14309.               
  14310.                  Examining offset 373032(5B128)
  14311.               
  14312.                     Record mark found = FAFA
  14313.               
  14314.                     Offset to next record = 209(D1)
  14315.               
  14316.                     Record length = 209(D1)
  14317.               
  14318.                     Key value = DYM41264
  14319.               
  14320.                  
  14321.               
  14322.                  In this example, we found an active record at byte offset 357463.  Dividing 357463 by 512 tells 
  14323.                  us that we would find the beginning of this record at offset 87 in sector 698.  By adding the offset to the 
  14324.                  next record, 4175, and 10 (the length of the record header) to 357463, we know that the next record 
  14325.                  header should be at offset 361648.  This would be at offset 176 (hexadecimal) in sector 706.  Because 
  14326.                  the record length for the first record shown in the example , 4056, is less than the offset to the next 
  14327.                  record, 4175, we know that there are 119 unused bytes at offset 351519.  These unused bytes will be 
  14328.                  combined with the 11374 bytes in the deleted record that follows if one of the BBS programs needs to 
  14329.                  write a record of 11493 bytes or less in that file.
  14330.               
  14331.                  In some situations, the REBUILD2 program will report the hexadecimal offset of an 
  14332.                  inconsistency when it finds one.  In other cases it will not, but careful study of a SCANLINX report 
  14333.                  will reveal it.  Either way, once you identify the location of the damage, you can compute the sector 
  14334.                  containing the damage and PGDN to it in SEDIT.  To modify file data using SEDIT, you must use 
  14335.                  ALT-E to enter edit mode.  After making your changes, before moving on to another sector, you must 
  14336.                  use ALT-W to write the changes back to the file, making them permanent.  SEDIT also provides a 
  14337.                  search function that can help you locate record headers and other data that you know to exist in the file.  
  14338.                  SEDIT is a fairly simple program.  Learning can happen quickly during use, by way of its built-in help 
  14339.                  function.
  14340.               
  14341.                  As always, whenever you finish modifying a BBS data file using SEDIT, be sure to delete the 
  14342.                  corresponding index file and run REBUILD2 to rebuild it, or you will probably end up with a worse 
  14343.                  mess than you started with as soon as you start up one of the BBS programs.
  14344.               
  14345.               
  14346.  
  14347.  
  14348.  
  14349.  
  14350.  
  14351.               7.   Technical Support
  14352.               
  14353.                  For sales and technical support for Bulletron of OS/2, contact:
  14354.               
  14355.                  
  14356.               
  14357.                  IDK Computer Systems, Inc.
  14358.               
  14359.                  129 Cambridge Street
  14360.               
  14361.                  Syracuse, New York 13210-2205
  14362.               
  14363.                  Modem # (315) 471-2970
  14364.               
  14365.                  
  14366.               
  14367.                  On-site service is available for OS/2 users @ $495.00 per day plus travel and living expenses.  A 
  14368.                  minimum retainer to cover five days will be required for all new accounts.  Voice support is available 
  14369.                  to for $5,000 per year, flat fee.  Modem support is available via NASIX BBS, (315/471-2970) free of 
  14370.                  charge.  Expect 2 - 3 weeks turnaround.
  14371.               
  14372.                    7.1.Problem Reporting
  14373.               
  14374.                  Most of the situations which system operators report cannot be duplicated in a test environment.  
  14375.                  That is not to say that they did not happen or are a figment of someone's imagination.  Strange things 
  14376.                  happen under specific conditions and unless those conditions are duplicated exactly, the situation will 
  14377.                  not reoccur.  If a problem can be duplicated in a test environment, it can almost always be fixed 
  14378.                  immediately.  If it cannot be duplicated, the problem will be printed on hard copy and will go into a file 
  14379.                  called "unsolved mysteries" in case anyone else reports a similar situation which can be duplicated 
  14380.                  later.
  14381.               
  14382.                  Please follow these steps when reporting a problem and include this information:
  14383.               
  14384.                      1.    What version of OS/2, what serial port hardware, what serial device drivers, and what make 
  14385.                      and model of modems are you running?
  14386.               
  14387.                      2.    Describe the result or situation which you found.  EXAMPLE:  Empty message gets sent to a 
  14388.                      user when cntl-K is used.
  14389.               
  14390.                      3.    Were there any messages at the bottom of your Control Window, when the problem occurred, 
  14391.                      or any error messages in your system log within the past 24 hours?
  14392.               
  14393.                      4.    MOST IMPORTANT:  List specific steps exactly, step by step, character by character, to 
  14394.                      reproduce the result.
  14395.               
  14396.                  EXAMPLE 1:
  14397.               
  14398.                  Step 1, Enter E
  14399.               
  14400.                  Step 2, Enter the account code.  Only seems to happen when to an account and not to ALL.
  14401.               
  14402.                  Step 3, When it asks for the summary, enter cntl-K.
  14403.               
  14404.                  Step 4, Go to the private mail board and look for the msgs to that account and you will find an 
  14405.                  empty msg from you just  entered.
  14406.               
  14407.                  
  14408.               
  14409.                  EXAMPLE 2:
  14410.               
  14411.                  Step 1, A user logs on and is forced off for excessive time.
  14412.               
  14413.                  Step 2, The user logs back on immediately and gets the message that he is denied access to the 
  14414.                  system.  This is critical. If he does not log on until the next day so he is not DENIED then his account is 
  14415.                  correct.
  14416.               
  14417.  
  14418.               
  14419.  
  14420.  
  14421.  
  14422.  
  14423.  
  14424.                  Step 3, The date/time in his record is now blank.
  14425.               
  14426.                  Step 4, The 3:00 AM purge now deletes him.
  14427.               
  14428.                  
  14429.               
  14430.                  EXAMPLE 3:
  14431.               
  14432.                  Step 1, Sysop chat (C on control window) must be ON.
  14433.               
  14434.                  Step 2, Sysop notify must be on so the bell rings when a user  comes on.
  14435.               
  14436.                  Step 3, Only 1 user must be online.  It doesn't occur when more than one are online.
  14437.               
  14438.                  Step 4, The only user online logs off with Z& so it does not disconnect but logs on with a 
  14439.                  different account.  At the at the logon when it rings the bell, the system locks up.
  14440.               
  14441.                  
  14442.               
  14443.                  These examples illustrate how obscure a bug can be without all the specific steps to reproduce it.  
  14444.                  If you can not provide exact steps that cause the problem every time, then don't waste your time 
  14445.                  reporting it.
  14446.               
  14447.                      5.    Additional questions which may help:
  14448.               
  14449.                  How many users were online, how many is your system set for (the USERS parm may change the 
  14450.                  maximum it was compiled to have)?
  14451.               
  14452.                  Does it happen only locally, only remotely, or both?
  14453.               
  14454.                  Does it happen only for a sysop account or any account?
  14455.               
  14456.                  Does a certain number of users have to be online for it to happen?
  14457.               
  14458.                  Are there any other conditions which appear to be required to make it occur?
  14459.               
  14460.                      6.    Using the steps that you wrote down in #4, recreate it on your system at least twice.
  14461.               
  14462.                      7.    Now go to a DIFFERENT computer (just as would be done in a test environment) with 
  14463.                      different set of data (maybe a backup of a week or so ago), enter the steps from #4 and see if 
  14464.                      you can recreate it.  If the same thing happens, then it should be recreatable.  If not, double 
  14465.                      check your steps, copy the data from your first computer to this computer and see if it happens 
  14466.                      again.  If it does, it is data dependent and you will need to send a copy of your files to recreate 
  14467.                      it here.  If you cannot recreate it now, then it probably should go to the "unsolved mysteries" 
  14468.                      file.
  14469.               
  14470.                  Some common problems which you could check:
  14471.               
  14472.                  Modem or multiport board malfunction.  (If you are running a commercial multi-user line system, 
  14473.                  you should keep spare modems and multiport cards on-hand.)
  14474.               
  14475.                    7.2.Common Questions New SYSOPs Ask
  14476.               
  14477.                  Q.   "How can I create a message from a text file?"
  14478.               
  14479.                  A.   Prepare the message off line with your word processor.  Be sure to use non-document mode or 
  14480.                  route the printed output to a disk file and use that output file.  Do not use the word processor text file 
  14481.                  which contains special characters and commands for the word processor.  Then enter "E@" on the 
  14482.                  sub-board you want the message posted.  You will be prompted for the account.  If it is a help file, enter 
  14483.                  the appropriate  help file name and the system will display "Account not found, assuming category" and 
  14484.                  continue.  Type in the message summary.  Then you will be prompted for the file name.  Be sure to put 
  14485.                  in the file extension such as TESTFILE.TXT 
  14486.               
  14487.                  Q.   "How do I create a text file from a message?"
  14488.               
  14489.                  A.   Read the message that you want to have copied to a text file.  Then use the "%" command at 
  14490.  
  14491.               
  14492.  
  14493.  
  14494.  
  14495.  
  14496.  
  14497.                  the end of the message to copy it to disk.  The message will not be deleted from the BBS.  Be  sure to 
  14498.                  enter the file extension if you want one on the file name.
  14499.               
  14500.                  Q.   "How do I delete a comment?"
  14501.               
  14502.                  A.   Read the message that you want to change.  At the end of the message when the system 
  14503.                  prompts for the post-retrieve menu, you will see the subcommand "X".  Entering "X" will delete the last 
  14504.                  comment on the message.  If you want to delete a  comment other than the last one, you can read the 
  14505.                  message and use the "M" command to Modify the existing message.  After entering "M", you will get a 
  14506.                  prompt the same as you get after entering a message.  Enter "L" to list the line numbers, then use the 
  14507.                  "D" command to delete those lines containing the  comment which you want removed.
  14508.               
  14509.                  Q.   "I don't want to leave my printer on all the time to display the log.  How can I stop the 
  14510.                  logging?"
  14511.               
  14512.                  A.   Use the "PP" command, system parameters menu, option "B" and set printer on to "N".  This 
  14513.                  will cause the information which was going to the printer to be put into a disk file named 
  14514.                  BBSLOGmm.DAT, where "mm" is the current month.
  14515.               
  14516.                  Q.   "How do I chat with a user?"
  14517.               
  14518.                  A.   After the user has logged on, NOT DURING NEW ACCOUNT SETUP, you can press 
  14519.                  CTRL/O to break into SYSOP chat mode with the user.  You should also do this if the user enters "C" 
  14520.                  to call the SYSOP into chat.  No matter where in the user's session he is at, just enter CTRL/O to 
  14521.                  interrupt it.  To break out of SYSOP chat and let the user continue his session or log off, either the user 
  14522.                  or the SYSOP can enter CTRL/K (the universal command for returning to the main menu).
  14523.               
  14524.                  Q.   "If a user is entering obscene messages, how can I disconnect him quickly?"  
  14525.               
  14526.                  A.   Press CTRL/Y and you will disconnect him immediately.
  14527.               
  14528.                  Q.   "How do I get a printed copy of one of the messages or of a user list?"
  14529.               
  14530.                  A.   Pressing CTRL/N while at a prompt will toggle the printer on and off just as CTRL/P does 
  14531.                  under CP/M or MS-DOS.  Note, however, that you must have told the system that the printer was on 
  14532.                  using option "B" of the parameters menu in the "PP" command.  If you have that set to "N" to route the 
  14533.                  log to a disk file, the CTRL/N function will write to disk, not to the  printer.
  14534.               
  14535.                  Q.   "I have the computer in my office and the bell from the users calling me into chat is annoying.  
  14536.                  How can I turn off the  bell?"
  14537.               
  14538.                  A.   Use the "PP" command to set option "Z" in the system parameters menu to "Y" to disable the 
  14539.                  bell.  The screen will still display the call, but the bell will not sound.
  14540.               
  14541.                  Q.   "I am using the BBS in my business and the personal description line is not relevant.  How can 
  14542.                  I suppress it?"
  14543.               
  14544.                  A.   In the system parameters, "PP" command, option "L" controls the description lines.  If you set 
  14545.                  that option to "N",then Bulletron will not prompt users for the description and it will not show the 
  14546.                  description to users when they do a "W" command.  If you want to suppress the "M" and "W" 
  14547.                  commands as well, simply set the access level for those commands very high FOR EACH 
  14548.                  SUB-BOARD (using the "PB" command).
  14549.               
  14550.                  Q.   "How do I change the LOGO or Message of the day?"
  14551.               
  14552.                  A.   The LOGO displays to the user before he enters his account code during logon.  The 
  14553.                  Message-of-the-day or MOTD will display after he has logged on and before he has selected any 
  14554.                  sub-boards.  To change these messages, select your "utilities" sub-board and enter "RA LOGO" or "RA 
  14555.                  MOTD" for  the message of the day.  After reading, it if it existed, delete it with the "D" post-read 
  14556.                  command.  Now load the new one which you created off line with your word processor by entering 
  14557.                  "E@ LOGO" or "E@ MOTD".
  14558.               
  14559.                  Q.   "How do I change the help messages?"
  14560.               
  14561.                  A.   Prepare the help message off line using your word processor.  Determine the name of the help 
  14562.                  message as specified in the section entitled "Special Messages" in this manual.  Select your "utilities" 
  14563.  
  14564.               
  14565.  
  14566.  
  14567.  
  14568.  
  14569.  
  14570.                  sub-board and move the old help file by reading it and answering "D" on the post-read menu.  Now 
  14571.                  load the new one which you created off line by entering "E@" followed by the special message name.  
  14572.                  The system will display the message "Account not found, assuming category" and then prompt for the 
  14573.                  summary and file name of the text file containing the new help message.  This also applies to the 
  14574.                  messages used as introductions to each sub-board and to the match questionnaires.
  14575.               
  14576.                  Q.   "How do I force the user to get a Summary when he enters a sub-board?"
  14577.               
  14578.                  A.   Use the "PB" command to set the initial command on any or all sub-boards to an "L" or "M".  
  14579.                  The "M" is used only on sub-boards which can have personal mail.  The "L" should be used on all 
  14580.                  sub-boards where there will frequently be new messages added.  The "N" option is used if there will be 
  14581.                  very little activity on the sub-board such as the "utilities" sub-board.  This will only determine whether 
  14582.                  the user gets a summary, and if so is it an "SM" or "SL".  To force the user to read the message rather 
  14583.                  than just get a summary, each user would individually have to change their own option with the "N" 
  14584.                  command.  There is no way for the sysop to automatically force an "ARM" or "RL" to all users.
  14585.               
  14586.                  Q.   "A message was entered on the wrong board.  How do I move it to the proper sub-board?"
  14587.               
  14588.                  A.   First, be sure you know the three character sub-board abbreviations for all of your sub-boards 
  14589.                  as you define them with the "PB" command.  Then read the message.  On the  post-read menu prompt, 
  14590.                  enter "T" to transfer the message.  You will be prompted for the board abbreviation of the new board 
  14591.                  that you want the message to be posted on.  This will automatically remove it from the current 
  14592.                  sub-board.
  14593.               
  14594.                  Q.   "How do I delete an account?"
  14595.               
  14596.                  A.   The system will automatically delete any account who has not logged on within the last month 
  14597.                  and whose feature access level is below that of a subscriber.  If you want to delete  someone anyway, 
  14598.                  use the SYSOP "+" command, option 1. The information about the user will be displayed and you will 
  14599.                  be asked to verify that you do want to delete him.  
  14600.               
  14601.                  Q.   "How do I just delete the match questionnaire for an account?"
  14602.               
  14603.                  A.   The match responses are maintained separately for each  sub-board.  Use the "+" command, 
  14604.                  option 7 to delete the questionnaire for a specific user.  You will be prompted for the users account 
  14605.                  code and the three character abbreviation for the sub-board on which the questionnaire is active.  If you 
  14606.                  change the questionnaire and need to delete those  responses for all users, you can enter ALL for the 
  14607.                  user account code when you are prompted for it.  If you change your questionnaire and want everyone 
  14608.                  to reanswer it, use the "+7" command again, but enter ALL instead of an individual account code.
  14609.               
  14610.                  Q.   "Must I have networking installed?"
  14611.               
  14612.                  A.   No.  Use the "PXL" command to set all your network nodes for manual dial only and 
  14613.                  networking will not occur.
  14614.               
  14615.                  Q.   "When I start the BBS, it sends out some modem commands, then it shuts itself down.  I can't 
  14616.                  log on to change the modem commands."
  14617.               
  14618.                  A.   Your modem is not returning a valid return code so the modem commands may be wrong.  
  14619.                  Your modem must return a zero after the command is sent.  Start Bulletron using the NOMODEM 
  14620.                  override:
  14621.               
  14622.                  
  14623.               
  14624.                  EXAMPLE:  C>BBS NOMODEM
  14625.               
  14626.                  
  14627.               
  14628.                  This tells Bulletron there is no modem port, then you can log on to fix the modem commands.
  14629.               
  14630.                  Q.   "A user drops off and the system does not detect loss of carrier".
  14631.               
  14632.                  A.   Store "&C2" in the modem's nonvolatile RAM.
  14633.               
  14634.                  Q.   "My modem does not answer the phone or shuts down after several attempts"
  14635.               
  14636.  
  14637.               
  14638.  
  14639.  
  14640.  
  14641.  
  14642.  
  14643.                  A.   Although many modem manufacturers claim to be "Hayes compatible", some are not.  The 
  14644.                  commands that are supplied with the system do work on Hayes modems, but yours may be slightly 
  14645.                  different.  If you are not using a true Hayes modem, check your manual for any different commands.  
  14646.                  Also check that the initial Baud rate is supported by the modem you are using and that the cables are 
  14647.                  properly connected.  Bulletron sends the modem the commands and expects a zero return code back 
  14648.                  from the modem.  If the modem does not return a zero within five attempts, Bulletron will shut down 
  14649.                  that line.  Check with your Bulletron Tech Support BBS for messages from other SYSOPs with similar 
  14650.                  modems to see what they had to do. As specific info about each modem obtained, it will be posted on 
  14651.                  Bulletron Tech Support.  The phone number for your Bulletron Tech Support BBS is: (315) 471-2970.
  14652.               
  14653.                  Q.   "When the modem attempts to dial out to network, I can hear the dial tone and I hear the tones 
  14654.                  from the modem dialing the number, but the tones to NOT break dial tone and the number is not 
  14655.                  dialed."
  14656.               
  14657.                  A.   Some telephone companies charge separately for touch tone service.  If you have not paid for 
  14658.                  touch tone service and your dialing code is "ATDT" (where the second "T" tells the modem to use 
  14659.                  touch tones rather than pulses), the tones will be ignored.  Change your dialing prefix code to "ATD" or 
  14660.                  "ATDP" to dial with pulses rather than tones, and it will dial correctly.
  14661.               
  14662.                  Q.   "I try to load a new questionnaire using "E@" but it can't find the file."
  14663.               
  14664.                  A.   The text file that you are loading is probably not in the same directory as the BBS program, or 
  14665.                  you are not specifying the correct file name extension.  Some word processors append a default 
  14666.                  extension to a filename if you do not enter one.  Be sure you are on the Utility/Helpfile board when 
  14667.                  issuing the  "E@" command.
  14668.               
  14669.                  Q.   "I get the message ERROR IN QUESTIONNAIRE.  DO A MQ every time someone uses the 
  14670.                  M command."
  14671.               
  14672.                  A.   There is an error in the way that your questionnaire is formatted.  Be sure there are no 
  14673.                  extraneous asterisks (*), parentheses ()), or colons (:)  in the message.  Check your format with the 
  14674.                  sample shown in "How to write a match questionnaire".  Be sure there are no blank lines at the  
  14675.                  beginning of the questionnaire.
  14676.               
  14677.                  Q.   "I have a subscriber system but when I raise a subscriber's access level, the system changes it 
  14678.                  back to the default access level."
  14679.               
  14680.                  A.   A subscriber must have a positive value in the cents/time remaining field if you are charging 
  14681.                  by cents or minutes, or he must have a paid-to-date greater than today's date if you are charging by date.  
  14682.                  If the value is zero or less, or if the paid-to-date is zero or less than today, the system assumes that the 
  14683.                  subscriber has allowed his account to expire  and will change the access level back to the default.  In a 
  14684.                  subscriber system, you cannot have a user with an access level equal to or greater than that of a 
  14685.                  subscriber unless  there is time in his account or has a future paid-to-date.
  14686.               
  14687.                  Q.   "I want to monitor users on lines 1, 3 and 5 at the same time.  How do I do that?"
  14688.               
  14689.                  A.   Press function key F1 to monitor line 1, then hold down the ALT key while pressing F3, then 
  14690.                  hold down the ALT key again while pressing F5.  To display the control window again, press HOME 
  14691.                  or to display a single line, press the function key for that line.  You can display the Control Window  
  14692.                  while monitoring lines using the CTRL function keys.
  14693.               
  14694.                  Q."I am running a dating board and I want to separate the gay users from the straight users.  How 
  14695.                  can I do that?"
  14696.               
  14697.                  A.Create a SIG such as GAY and give your gay users access to that SIG.  Use the "PXP" 
  14698.                  command, option "N", to define that SIG as the separation board.  A user with access to SIG GAY will 
  14699.                  only display to other users with that access, and users without access to that SIG will only show up to 
  14700.                  other users without that SIG.
  14701.               
  14702.                  Q.   "I am running a technical support sub-board and do not want the matchmaker command to 
  14703.                  show.  How do I suppress any reference to it in the menu?"
  14704.               
  14705.                  A.   Set the special feature option (SF) in the board definitions ("PB" command) to "N" on ALL 
  14706.                  sub-boards.  If there are no matching questionnaires anywhere, the command will not display on the 
  14707.                  menu.
  14708.               
  14709.  
  14710.               
  14711.  
  14712.  
  14713.  
  14714.  
  14715.  
  14716.                  Q.   "When someone calls in, they get the message - Due to technical difficulties, the system is 
  14717.                  temporarily down.  Please call back later.  Why can't callers get on?"
  14718.               
  14719.                  A.   During the initialization phase of starting Bulletron, some error messages were displayed and 
  14720.                  you pressed [ENTER] to continue.  Bulletron will let the SYSOP on to correct the problems, but it will 
  14721.                  not let any users online.  A common situation on 3-user systems is that there is only one modem 
  14722.                  attached to the computer, but Bulletron thinks there should be two modems (COM1 and COM2).  Use 
  14723.                  the "PL" command to set the unused line to a port value of  -1.
  14724.               
  14725.                    7.3.Common Ways Users Try to Hack the System
  14726.               
  14727.                  Since it's appearance on the commercial market in 1985, no one has ever successfully gained 
  14728.                  unauthorized access to a Bulletron BBS.  Sure, there have been instances where assistant SYSOPs who 
  14729.                  proved to be not as trustworthy as they ought to be, gave out passwords to their friends, but the integrity 
  14730.                  of the software stands firm.  Here are a couple of the more clever things that people have tried along the 
  14731.                  way to make it look as though they had hacked the software.
  14732.               
  14733.                  7.3.1.  Phony Subscriber Status
  14734.               
  14735.                  When Bulletron displays user information using "W" commands, it places a currency symbol ($) 
  14736.                  to the left of the first line of personal description.  By placing a space in the first character of his 
  14737.                  name/handle, starting each of the last two lines with a space character, and placing a currency symbol in 
  14738.                  the first character of the first line of personal description, a nonsubscriber can make himself look like a 
  14739.                  paid subscriber.  As system operator, it will be obvious to you that the account balance is zero and the 
  14740.                  paid-to-date is not set or expired..  You can eliminate this kind of deception by using the "verified 
  14741.                  access level" feature, "PP" command, option 2.
  14742.               
  14743.                  7.3.2.  Forged Message Signature
  14744.               
  14745.                  When a user adds a comment to a public message, Bulletron prefixes the comment with two 
  14746.                  blank lines, then a header line that indicates the date, time, and author of the new comment.  Because 
  14747.                  messages are free-form, there is nothing to stop a user from placing two blank lines and text that looks 
  14748.                  like a comment header in the middle of his comment text.  As SYSOP, you can still sort out the true 
  14749.                  author, by use of the  "X" post-read command.  If you start removing comments from the end of a 
  14750.                  public message, and find that two of the comments disappear together, then this is what has happened.              
  14751.  
  14752.  
  14753.  
  14754.  
  14755.  
  14756.               A.   Appendix A - Modem Setup
  14757.               
  14758.                  Most modems in current production are modeled after the Hayes Optima.  If your brand of 
  14759.                  modem is not listed here, that does not mean it won't work.  It just means we haven't gotten around to 
  14760.                  testing it yet.  Study the setup for the Hayes Optima and study your own modem manual to figure out 
  14761.                  how to set up other makes and models not listed in this appendix.
  14762.               
  14763.                    A.1.Fundamental Concepts
  14764.               
  14765.                  It is important that we make clear how Bulletron wants the modem to operate.   When Bulletron 
  14766.                  sends a command to a modem, it expects the modem to return nothing except one or two ASCII digits 
  14767.                  of result code and a carriage return.  This means that you must have the following settings (or their 
  14768.                  equivalents for your particular brand of modem) stored in nonvolatile RAM inside the modem and in 
  14769.                  effect at all times:
  14770.               
  14771.                      E0       Do not echo characters from the keyboard to the screen in command mode.  
  14772.                      If the modem echoes the commands sent to it, Bulletron will attempt to 
  14773.                      interpret these as  result codes and will display messages like              
  14774.               
  14775.                  
  14776.               
  14777.                                                             Illegal modem result code < ... text ... >
  14778.               
  14779.                  
  14780.               
  14781.                               where "... text ..." is the command string.              
  14782.               
  14783.                      V0       Display result codes as numbers.  Do not have result codes returned as verbal 
  14784.                      strings.              
  14785.               
  14786.                      &C1      Track the status of carrier detect signal.  Bulletron checks the state of the 
  14787.                      carrier detect signal before each character is transmitted, and before 
  14788.                      attempting to read each incoming character.  If the modem does not report 
  14789.                      loss of carrier, then Bulletron will not reset the line when a user disconnects.              
  14790.               
  14791.                      &D2      Monitor DTR signal.  When an on-to-off transition of DTR signal occurs, the 
  14792.                      modem hangs up, enters the command state, and ignores incoming calls.              
  14793.               
  14794.                  A.1.1.  Automatic Speed Buffering and Flow Control
  14795.               
  14796.                  In the most traditional method of receiving a modem call, commands are sent to the modem at a 
  14797.                  default Baud rate, the modem returns a result code indicating the Baud rate of an incoming call, and the 
  14798.                  modem and the BBS adjust their Baud rates to match the line speed of the connection.  For example, a 
  14799.                  2400 Baud modem would be set up to receive a call by sending "+++", "ATZ", then "ATS0=1" at 2400 
  14800.                  Baud.  An incoming call at 1200 Baud would cause the modem to send a result code of "5" to the BBS, 
  14801.                  and the BBS would adjust the speed of the serial port to 1200 Baud.
  14802.               
  14803.                  Modems that support error correction (MNP 1 through 4 or V.42), or data compression (MNP 5 
  14804.                  through 10 or V.42bis) change this.  To perform error correction, the modem must accumulate data 
  14805.                  flowing in both directions in internal buffers, assemble the data into packets, attach CRCs to the 
  14806.                  packets, and retransmit the packets if CRCs do not compare correctly.  A mechanism must be provided 
  14807.                  by which the modem can tell the BBS to hold data if a packet needs to be retransmitted.  This 
  14808.                  mechanism is an electrical signal named CTS (Clear to Send).  When the modem needs to make  the 
  14809.                  BBS wait, it turns off CTS; otherwise, CTS is always turned on.  In the other direction, when the BBS 
  14810.                  needs to make the modem stop sending data, it turns off a signal named RTS (Request to Send).
  14811.               
  14812.                  When a modem supports data compression (MNP 5 through 10 or V.42bis), it may receive data 
  14813.                  from the BBS at a much faster rate than the phone line will support.  For instance, if the line rate is 
  14814.                  2400 Baud, and the modem is achieving 4:1 compression on the  data packets it builds, then the 
  14815.                  modem can accept data from the BBS at 9600 Baud.  In the other direction, if the modem is receiving 
  14816.  
  14817.               
  14818.  
  14819.  
  14820.  
  14821.  
  14822.  
  14823.                  compressed packets that are expanding to 4 times their transmitted size, then the modem will be able to 
  14824.                  send data to the BBS at 9600 Baud.  To support data compression, Bulletron provides modem type "A" 
  14825.                  (set with the "PL" command).  For an "A" type modem, Bulletron will not adjust the Baud rate of the 
  14826.                  connection between the computer and the modem to the speed reported by the modem at connection, 
  14827.                  but will leave it at the initial Baud rate set by the "PM" command.  If, for example, you have a 2400 
  14828.                  Baud modem that supports data compression and you set up the modem to enable that feature, then you 
  14829.                  would set the modem type to "A" with the "PL" command and set the initial Baud rate for the modem 
  14830.                  to 9600 Baud.  Your modem will receive packets across the phone line at 2400 Baud, expand them in 
  14831.                  its internal buffers, and send the data to the computer at 9600 Baud.
  14832.               
  14833.                  When the Baud rate of the connection between the computer and the modem remains fixed at 
  14834.                  some high value, while the modem connects at various lower line speeds, this is called "automatic 
  14835.                  speed buffering".  Automatic speed buffering is required for line speeds of 14,400 Baud, even when 
  14836.                  error correction and data compression are not used, because most serial port hardware can not be set to 
  14837.                  14,400 Baud.  With V.32bis modems, which normally connect at 14,400 Baud, it is necessary to use 
  14838.                  automatic speed buffering and set the initial Baud rate for the modem to 19,200 Baud.  Bulletron 
  14839.                  provides the modem type of "A" (with the "PL" command), for Hayes compatible modems that are 
  14840.                  operated with automatic speed buffering.  Modem types "C" and "H" are for modems that adjust the 
  14841.                  speed of the computer to modem connection to match the line speed at the time of connection.  The 
  14842.                  difference between type "H" and type "C" is that type "C" modems that will not accept commands 
  14843.                  while the DTR signal is off.  Type "H" is for most Hayes compatible modems, that will accept 
  14844.                  commands while DTR is off. Type "P" is for Hayes compatible modems that do not support hardware 
  14845.                  (RTS/CTS) flow control, and, hence, have only a slight prayer of doing error correction or data 
  14846.                  compression without losing data.
  14847.               
  14848.                  A.1.2.  Delay After Connection
  14849.               
  14850.                  Modems that support error correction or data compression negotiate with each other immediately 
  14851.                  after connection to determine which features both modems have in common.  This negotiation takes 
  14852.                  place using 7 data bits, even parity and one stop bit (7-E-1).  Bulletron normally communicates with 
  14853.                  the user  using 8 data bits, no parity and one stop bit (8-N-1).  Using 8 data bits is necessary to support 
  14854.                  IBM extended graphics characters and also to perform file transfers using XMODEM, YMODEM or 
  14855.                  ZMODEM.  The only common file transfer protocol that can work with 7 data  bits is KERMIT.  If 
  14856.                  your BBS has a modem that does not support error correction or data compression, and a user calls in 
  14857.                  using a modem that does support these features, then the BBS may interpret the remote modem's 
  14858.                  attempts at feature negotiation as user keystrokes.  Your BBS will tell the user to reset his 
  14859.                  communications software for 8-N-1.  Increasing the delay after connection eliminates this problem.  
  14860.                  This problem can also occur when your modem supports error correction or data compression and the 
  14861.                  user's modem does not.  Generally, we find that a delay after connection of about 7 seconds always 
  14862.                  eliminates this problem, though you may find that your modem works with less delay, by 
  14863.                  experimenting with different amounts of delay.
  14864.               
  14865.                    A.2.Hayes Smartmodem 2400 Setup
  14866.               
  14867.                  Connect the modem off-line to a terminal or terminal emulator program, and enter
  14868.               
  14869.                  
  14870.               
  14871.                  AT &F &W
  14872.               
  14873.                  
  14874.               
  14875.                  to set the modem to factory defaults.  Then enter
  14876.               
  14877.                  
  14878.               
  14879.                  AT E0 M0 V0 &C1 &D2 &W
  14880.               
  14881.                  
  14882.               
  14883.                  Then, for the "PL" command, specify modem type "H", and for the "PM" command, specify:
  14884.               
  14885.                  
  14886.               
  14887.                  Initial Baud Rate = 2400
  14888.               
  14889.  
  14890.               
  14891.  
  14892.  
  14893.  
  14894.  
  14895.  
  14896.                  Escape Sequence = +++
  14897.               
  14898.                  Delay Before and After Escape Sequence = 36 (2 seconds)
  14899.               
  14900.                  Reset Modem String = ATZ
  14901.               
  14902.                  Begin Answer String = ATH0S0=1
  14903.               
  14904.                  Modem Off-hook String = ATM0H1
  14905.               
  14906.                  No Answer String = ATS0=0
  14907.               
  14908.                  Delay Between Commands = 18 (1 second)
  14909.               
  14910.                  Delay After Connection = 126 (7 seconds)
  14911.               
  14912.                  Dial String = ATM1DP (ATM1DT if your line has touchtone)
  14913.               
  14914.                  Result Code 1 = 1
  14915.               
  14916.                  Baud Rate 1 = 300
  14917.               
  14918.                  Result Code 2 = 5
  14919.               
  14920.                  Baud Rate 2 = 1200
  14921.               
  14922.                  Result Code 3 = 10
  14923.               
  14924.                  Baud Rate 3 = 2400
  14925.               
  14926.                  
  14927.               
  14928.                  Set the unused result code/Baud rate sets the same as set 1 to avoid false connection on a result 
  14929.                  code of zero.
  14930.               
  14931.                    A.3.Hayes V Series 9600 Baud Modem Settings
  14932.               
  14933.                  Connect the modem off-line to a terminal or terminal emulator program, and enter
  14934.               
  14935.                  
  14936.               
  14937.                  AT &F &W
  14938.               
  14939.                  
  14940.               
  14941.                  to set the modem to factory defaults.  Then enter
  14942.               
  14943.                  
  14944.               
  14945.                  AT E0 M0 V0 &C1 &D2 &W
  14946.               
  14947.                  
  14948.               
  14949.                  Then, for the "PL" command, specify modem type "H", and for the "PM" command, specify:
  14950.               
  14951.                  
  14952.               
  14953.                  Initial Baud Rate = 9600
  14954.               
  14955.                  Escape Sequence = +++
  14956.               
  14957.                  Delay Before and After Escape Sequence = 36 (2 seconds)
  14958.               
  14959.                  Reset Modem String = ATZ
  14960.               
  14961.                  Begin Answer String = ATH0S0=1
  14962.  
  14963.               
  14964.  
  14965.  
  14966.  
  14967.  
  14968.  
  14969.               
  14970.                  Modem Off-hook String = ATM0H1
  14971.               
  14972.                  No Answer String = ATS0=0
  14973.               
  14974.                  Delay Between Commands = 18 (1 second)
  14975.               
  14976.                  Delay After Connection = 126 (7 seconds)
  14977.               
  14978.                  Dial String = ATM1DP (ATM1DT if your line has touchtone)
  14979.               
  14980.                  Result Code 1 = 1
  14981.               
  14982.                  Baud Rate 1 = 300
  14983.               
  14984.                  Result Code 2 = 5
  14985.               
  14986.                  Baud Rate 2 = 1200
  14987.               
  14988.                  Result Code 3 = 10
  14989.               
  14990.                  Baud Rate 3 = 2400
  14991.               
  14992.                  Result Code 4 = 12
  14993.               
  14994.                  Baud Rate 4 = 9600
  14995.               
  14996.                  
  14997.               
  14998.                  Set the unused result code/Baud rate sets the same as set 1 to avoid false connection on a result 
  14999.                  code of zero.
  15000.               
  15001.                    A.4.Hayes Optima Modem Settings
  15002.               
  15003.                  Connect the modem off-line to a terminal or terminal emulator program, and enter
  15004.               
  15005.                  
  15006.               
  15007.                  AT &F &W
  15008.               
  15009.                  
  15010.               
  15011.                  to set the modem to factory defaults.  Then enter
  15012.               
  15013.                  
  15014.               
  15015.                  AT E0 M0 V0 &C1 &D2 S38=0 S46=138 &W
  15016.               
  15017.                  
  15018.               
  15019.                  Then, for the "PL" command, specify modem type "A", and for the "PM" command, specify:
  15020.               
  15021.                  
  15022.               
  15023.                  Initial Baud Rate = 19200
  15024.               
  15025.                  Escape Sequence = +++
  15026.               
  15027.                  Delay Before and After Escape Sequence = 36 (2 seconds)
  15028.               
  15029.                  Reset Modem String = ATZ
  15030.               
  15031.                  Begin Answer String = ATH0S0=1
  15032.               
  15033.                  Modem Off-hook String = ATM0H1
  15034.               
  15035.  
  15036.               
  15037.  
  15038.  
  15039.  
  15040.  
  15041.  
  15042.                  No Answer String = ATS0=0
  15043.               
  15044.                  Delay Between Commands = 18 (1 second)
  15045.               
  15046.                  Delay After Connection = 126 (7 seconds)
  15047.               
  15048.                  Dial String = ATM1DP (ATM1DT if your line has touchtone)
  15049.               
  15050.                  Result Code 1 = 1
  15051.               
  15052.                  Baud Rate 1 = 300
  15053.               
  15054.                  Result Code 2 = 5
  15055.               
  15056.                  Baud Rate 2 = 1200
  15057.               
  15058.                  Result Code 3 = 10
  15059.               
  15060.                  Baud Rate 3 = 2400
  15061.               
  15062.                  Result Code 4 = 11
  15063.               
  15064.                  Baud Rate 4 = 4800
  15065.               
  15066.                  Result Code 5 = 12
  15067.               
  15068.                  Baud Rate 5 = 9600
  15069.               
  15070.                  Result Code 6 = 13
  15071.               
  15072.                  Baud Rate 6 = 14400
  15073.               
  15074.                  Result Code 7 = 14
  15075.               
  15076.                  Baud Rate 7 = 19200
  15077.               
  15078.                  Result Code 8 = 18
  15079.               
  15080.                  Baud Rate 8 = 57600
  15081.               
  15082.                  Result Code 9 = 28
  15083.               
  15084.                  Baud Rate 9 = 38400
  15085.               
  15086.                  
  15087.               
  15088.                  Set the unused result code/Baud rate sets the same as set 1 to avoid false connection on a result 
  15089.                  code of zero.
  15090.               
  15091.                  Common Problems:
  15092.               
  15093.                  A caller with MNP or V.42 calls Bulletron on a phone line with an old 2400 Baud modem.  
  15094.                  Bulletron tells him to reset his communications parameters to 8-N-1, but they are already set for that.  
  15095.                  The problem is that, after carrier has been established, a modem with V.42 or MNP will attempt to 
  15096.                  negotiate error-control with the other modem.  The negotiation for V.42 or MNP is always done with 7 
  15097.                  data bits and even parity.  If the BBS looks at the line too soon after carrier is established, it will see this 
  15098.                  negotiation and interpret it as keystrokes from the user and complain.  The solution is to set the "delay 
  15099.                  after connecting" to seven seconds (126 clock ticks).  This makes Bulletron ignore input from the 
  15100.                  remote modem that might be V.42 or MNP error-control feature negotiation.  Having an eight bit 
  15101.                  character size is critical to some download protocols (everything except KERMIT), and to IBM PC 
  15102.                  extended graphics characters.
  15103.               
  15104.                    A.5.Logicode Quicktel Modem Settings
  15105.               
  15106.                  Connect the modem off-line to a terminal or terminal emulator program, and enter
  15107.               
  15108.  
  15109.               
  15110.  
  15111.  
  15112.  
  15113.  
  15114.  
  15115.                  
  15116.               
  15117.                  AT &F &W
  15118.               
  15119.                  
  15120.               
  15121.                  to set the modem to factory defaults.  Then enter
  15122.               
  15123.                  
  15124.               
  15125.                  AT E0 M0 V0 &C1 &D2 S38=0 &W
  15126.               
  15127.                  
  15128.               
  15129.                  Then, for the "PL" command, specify modem type "A", and for the "PM" command, specify:
  15130.               
  15131.                  
  15132.               
  15133.                  Initial Baud Rate = 19200
  15134.               
  15135.                  Escape Sequence = +++
  15136.               
  15137.                  Delay Before and After Escape Sequence = 36 (2 seconds)
  15138.               
  15139.                  Reset Modem String = ATZ
  15140.               
  15141.                  Begin Answer String = ATH0S0=1
  15142.               
  15143.                  Modem Off-hook String = ATM0H1
  15144.               
  15145.                  No Answer String = ATS0=0
  15146.               
  15147.                  Delay Between Commands = 18 (1 second)
  15148.               
  15149.                  Delay After Connection = 126 (7 seconds)
  15150.               
  15151.                  Dial String = ATM1DP (ATM1DT if your line has touchtone)
  15152.               
  15153.                  Result Code 1 = 1
  15154.               
  15155.                  Baud Rate 1 = 300
  15156.               
  15157.                  Result Code 2 = 5
  15158.               
  15159.                  Baud Rate 2 = 1200
  15160.               
  15161.                  Result Code 3 = 9
  15162.               
  15163.                  Baud Rate 3 = 600
  15164.               
  15165.                  Result Code 4 = 10
  15166.               
  15167.                  Baud Rate 4 = 2400
  15168.               
  15169.                  Result Code 5 = 11
  15170.               
  15171.                  Baud Rate 5 = 4800
  15172.               
  15173.                  Result Code 6 = 12
  15174.               
  15175.                  Baud Rate 6 = 9600
  15176.               
  15177.                  Result Code 7 = 13
  15178.               
  15179.                  Baud Rate 7 = 7200
  15180.               
  15181.  
  15182.               
  15183.  
  15184.  
  15185.  
  15186.  
  15187.  
  15188.                  Result Code 8 = 14
  15189.               
  15190.                  Baud Rate 8 = 12000
  15191.               
  15192.                  Result Code 9 = 15
  15193.               
  15194.                  Baud Rate 9 = 14400
  15195.               
  15196.                  Result Code 10 = 16
  15197.               
  15198.                  Baud Rate 10 = 19200
  15199.               
  15200.                  Result Code 11 = 17
  15201.               
  15202.                  Baud Rate 11 = 38400
  15203.               
  15204.                  Result Code 12 = 18
  15205.               
  15206.                  Baud Rate 12 = 57600
  15207.               
  15208.                  
  15209.               
  15210.                  Set the unused result code/Baud rate sets the same as set 1 to avoid false connection on a result 
  15211.                  code of zero.
  15212.               
  15213.                  Common Problems:
  15214.               
  15215.                  A caller with MNP or V.42 calls Bulletron on a phone line with an old 2400 Baud modem.  
  15216.                  Bulletron tells him to reset his communications parameters to 8-N-1, but they are already set for that.  
  15217.                  The problem is that, after carrier has been established, a modem with V.42 or MNP will attempt to 
  15218.                  negotiate error-control with the other modem.  The negotiation for V.42 or MNP is always done with 7 
  15219.                  data bits and even parity.  If the BBS looks at the line too soon after carrier is established, it will see this 
  15220.                  negotiation and interpret it as keystrokes from the user and complain.  The solution is to set the "delay 
  15221.                  after connecting" to seven seconds (126 clock ticks).  This makes Bulletron ignore input from the 
  15222.                  remote modem that might be V.42 or MNP error-control feature negotiation.  Having an eight bit 
  15223.                  character size is critical to some download protocols (everything except KERMIT), and to IBM PC 
  15224.                  extended graphics characters.  
  15225.               
  15226.                    A.6.U.S. Robotics Courier Modem Settings
  15227.               
  15228.                  It should be noted that the US Robotics HST Dual Standard Modem, does *NOT* operate in an 
  15229.                  automatic detection mode when used in the answering mode.  This modem, when used in the 
  15230.                  ORIGINATE Mode will determine what type of modem is on the answering end and subsequently 
  15231.                  accommodate either HST or V.32bis protocol.  This is a function of the *ORIGINATING* modem 
  15232.                  only.  
  15233.               
  15234.                  In order to properly use the Dual Standard Modem, the system operator must first determine 
  15235.                  whether he wants to use the HST mode or the V.32bis mode when answering incoming calls.  
  15236.                  Depending on which mode you select, certain preset parameters must be changed.  US Robotics default 
  15237.                  softsets are for HST Mode.  If you desire to operate in the V.32bis mode, then you will have to change 
  15238.                  certain settings to accommodate the V.32bis protocol.
  15239.               
  15240.                  The following information, pertains to the switch settings on the bottom of the modem.  Please 
  15241.                  note that ON is DOWN.
  15242.               
  15243.                  
  15244.               SwitchDefaultBulletro nFunction
  15245.               #                 
  15246.                                 
  15247.  
  15248.               1     DOWN  UP    UP = DTR Normal Operation
  15249.                                 
  15250.  
  15251.               2     UP    DOWN  DOWN = Numeric Result
  15252.                                 Codes
  15253.                                 
  15254.  
  15255.               3     DOWN  DOWN  DOWN = Enable Result
  15256.                                 Codes
  15257.                                 
  15258.  
  15259.               4     UP    DOWN  DOWN = No Command Echo
  15260.                                 
  15261.  
  15262.               5     DOWN  UP    UP = Enable Auto-Answer
  15263.                                 
  15264.  
  15265.               6     DOWN  UP    UP = Carrier Detect Normal
  15266.                                 Operation
  15267.                                 
  15268.  
  15269.               7     UP    UP    UP = Enable Result Codes
  15270.                                 for both  Answer and
  15271.                                 Originate
  15272.                                 
  15273.  
  15274.               8     DOWN  DOWN  DOWN = Enable "AT" Command
  15275.                                 Set  Recognition
  15276.                                 
  15277.  
  15278.               9     DOWN  DOWN  Escape Sequence Response
  15279.                                 DOWN = Hang Up and Return
  15280.                                 to  Command Mode
  15281.                                 
  15282.  
  15283.               10    UP    UP    Power On and ATZ Settings
  15284.                                 UP = Load from NVRAM
  15285.                                 
  15286.  
  15287.               QUAD  UP    UP    Modem-Terminal Interface
  15288.                                 UP = Standard RS232C
  15289.                                 
  15290.  
  15291.                   
  15292.                                 
  15293.  
  15294.                  Connect the modem off-line to a terminal or terminal emulator program, and enter
  15295.               
  15296.                  
  15297.               
  15298.                  AT &F &W
  15299.               
  15300.                  
  15301.               
  15302.                  to set the modem to factory defaults.  Then, if you have a Dual Standard modem, and want to enable 
  15303.  
  15304.               
  15305.  
  15306.  
  15307.  
  15308.  
  15309.  
  15310.                  V.32bis for your high speed callers, enter
  15311.               
  15312.                  
  15313.               
  15314.                  AT B0 M0 X4 &A0 &B1 &H1 &R2 &W
  15315.               
  15316.                  
  15317.               
  15318.                  If you would rather provide HST with the Dual Standard modem, which yields slightly higher 
  15319.                  Baud rates, at the expense of becoming incompatible with the rest of the world, enter
  15320.               
  15321.                  
  15322.               
  15323.                  AT M0 X4 &B1 &H1 &R2 &W
  15324.               
  15325.                  
  15326.               
  15327.                  If you have an HST only modem, then enter
  15328.               
  15329.                  
  15330.               
  15331.                  AT M0 X4 &B1 &H1 &R2 &W
  15332.               
  15333.                  
  15334.               
  15335.                  If you have a V.32bis only modem, then enter
  15336.               
  15337.                  
  15338.               
  15339.                  AT M0 X4 &A0 &B1 &H1 &R2 &W
  15340.               
  15341.                  
  15342.               
  15343.                  For the "PL" command, specify modem type "B", and for the "PM" command, specify:
  15344.               
  15345.                  
  15346.               
  15347.                  Initial Baud Rate = 19200
  15348.               
  15349.                  Escape Sequence = +++
  15350.               
  15351.                  Delay Before and After Escape Sequence = 27 (1.5 seconds)
  15352.               
  15353.                  Reset Modem String = ATZ
  15354.               
  15355.                  Begin Answer String = ATH0S0=1
  15356.               
  15357.                  Modem Off-hook String = ATM0H1
  15358.               
  15359.                  No Answer String = ATS0=0
  15360.               
  15361.                  Delay Between Commands = 36 (2 seconds)
  15362.               
  15363.                  Delay After Connection = 72 (4 seconds)
  15364.               
  15365.                  Dial String = ATM1DP (ATM1DT if your line has touchtone)
  15366.               
  15367.                  Result Code 1 = 1
  15368.               
  15369.                  Baud Rate 1 = 300
  15370.               
  15371.                  Result Code 2 = 5
  15372.               
  15373.                  Baud Rate 2 = 1200
  15374.               
  15375.                  Result Code 3 = 10
  15376.  
  15377.               
  15378.  
  15379.  
  15380.  
  15381.  
  15382.  
  15383.               
  15384.                  Baud Rate 3 = 2400
  15385.               
  15386.                  Result Code 4 = 13
  15387.               
  15388.                  Baud Rate 4 = 9600
  15389.               
  15390.                  Result Code 5 = 18
  15391.               
  15392.                  Baud Rate 5 = 4800
  15393.               
  15394.                  Result Code 6 = 20
  15395.               
  15396.                  Baud Rate 6 = 7200
  15397.               
  15398.                  Result Code 7 = 21
  15399.               
  15400.                  Baud Rate 7 = 12000
  15401.               
  15402.                  Result Code 8 = 25
  15403.               
  15404.                  Baud Rate 8 = 14400
  15405.               
  15406.                  Result Code 9 = 43
  15407.               
  15408.                  Baud Rate 9 = 16800
  15409.               
  15410.                  
  15411.               
  15412.                  Set the unused result code/Baud rate sets the same as set 1 to avoid false connection on a result 
  15413.                  code of zero.
  15414.               
  15415.                  For a more detailed discussion of these various parameters and their specific effects on how the 
  15416.                  modem reacts, consult the applicable sections of the US Robotics Users Manual which you received 
  15417.                  with your modem.  Pay particular attention to the special addendums that have to do with the 
  15418.                  differences between HST and V.32 operations.
  15419.               
  15420.                  Having made these changes, the US Robotics modem should now function in the selected mode 
  15421.                  without difficulties.  If you have further questions about any particulars of the US Robotics modem, 
  15422.                  feel free to contact US Robotics, at their toll free support number, 1-800-982-5151.
  15423.               
  15424.                    A.7.U.S. Robotics Sportster Modem Settings
  15425.               
  15426.                  The following information, pertains to the switch settings on the bottom of the modem.  Please 
  15427.                  note that ON is DOWN.
  15428.               
  15429.                  
  15430.               SwitchDefaultBulletro nFunction
  15431.               #                 
  15432.                                 
  15433.  
  15434.               1     DOWN  UP    UP = DTR Normal Operation
  15435.                                 
  15436.  
  15437.               2     UP    DOWN  DOWN = Numeric Result
  15438.                                 Codes
  15439.                                 
  15440.  
  15441.               3     DOWN  DOWN  DOWN = Enable Result
  15442.                                 Codes
  15443.                                 
  15444.  
  15445.               4     UP    DOWN  DOWN = No Command Echo
  15446.                                 
  15447.  
  15448.               5     DOWN  UP    UP = Enable Auto-Answer
  15449.                                 
  15450.  
  15451.               6     DOWN  UP    UP = Carrier Detect Normal
  15452.                                 Operation
  15453.                                 
  15454.  
  15455.               7     UP    UP    Power On and ATZ Settings
  15456.                                 UP = Load from NVRAM
  15457.                                 
  15458.  
  15459.               8     DOWN  DOWN  DOWN = Enable "AT" Command
  15460.                                 Set  Recognition
  15461.                                 
  15462.  
  15463.                   
  15464.                                 
  15465.  
  15466.                  Connect the modem off-line to a terminal or terminal emulator program, and enter
  15467.               
  15468.                  
  15469.               
  15470.                  AT &F &W
  15471.               
  15472.                  
  15473.               
  15474.                  to set the modem to factory defaults.  Then, enter
  15475.               
  15476.                  
  15477.               
  15478.                  AT M0 X4 &A0 &B1 &H1 &R2 &W
  15479.               
  15480.                  
  15481.               
  15482.                  For the "PL" command, specify modem type "B", and for the "PM" command, specify:
  15483.               
  15484.  
  15485.               
  15486.  
  15487.  
  15488.  
  15489.  
  15490.  
  15491.                  
  15492.               
  15493.                  Initial Baud Rate = 19200
  15494.               
  15495.                  Escape Sequence = +++
  15496.               
  15497.                  Delay Before and After Escape Sequence = 27 (1.5 seconds)
  15498.               
  15499.                  Reset Modem String = ATZ
  15500.               
  15501.                  Begin Answer String = ATH0S0=1
  15502.               
  15503.                  Modem Off-hook String = ATM0H1
  15504.               
  15505.                  No Answer String = ATS0=0
  15506.               
  15507.                  Delay Between Commands = 36 (2 seconds)
  15508.               
  15509.                  Delay After Connection = 72 (4 seconds)
  15510.               
  15511.                  Dial String = ATM1DP (ATM1DT if your line has touchtone)
  15512.               
  15513.                  Result Code 1 = 1
  15514.               
  15515.                  Baud Rate 1 = 300
  15516.               
  15517.                  Result Code 2 = 5
  15518.               
  15519.                  Baud Rate 2 = 1200
  15520.               
  15521.                  Result Code 3 = 10
  15522.               
  15523.                  Baud Rate 3 = 2400
  15524.               
  15525.                  Result Code 4 = 13
  15526.               
  15527.                  Baud Rate 4 = 9600
  15528.               
  15529.                  Result Code 5 = 18
  15530.               
  15531.                  Baud Rate 5 = 4800
  15532.               
  15533.                  Result Code 6 = 20
  15534.               
  15535.                  Baud Rate 6 = 7200
  15536.               
  15537.                  Result Code 7 = 21
  15538.               
  15539.                  Baud Rate 7 = 12000
  15540.               
  15541.                  Result Code 8 = 25
  15542.               
  15543.                  Baud Rate 8 = 14400
  15544.               
  15545.                  Result Code 9 = 43
  15546.               
  15547.                  Baud Rate 9 = 16800
  15548.               
  15549.                  
  15550.               
  15551.                  Set the unused result code/Baud rate sets the same as set 1 to avoid false connection on a result 
  15552.                  code of zero.
  15553.               
  15554.                    A.8.Intel SatisFAXtion Modem Settings
  15555.               
  15556.                  Connect the modem off-line to a terminal or terminal emulator program, and enter
  15557.  
  15558.               
  15559.  
  15560.  
  15561.  
  15562.  
  15563.  
  15564.               
  15565.                  
  15566.               
  15567.                  AT &F &W
  15568.               
  15569.                  
  15570.               
  15571.                  to set the modem to factory defaults.  Then enter
  15572.               
  15573.                  
  15574.               
  15575.                  AT E0 M0 V0 \V0 &W
  15576.               
  15577.                  
  15578.               
  15579.                  Then, for the "PL" command, specify modem type "A", and for the "PM" command, specify:
  15580.               
  15581.                  
  15582.               
  15583.                  Initial Baud Rate = 19200
  15584.               
  15585.                  Escape Sequence = +++
  15586.               
  15587.                  Delay Before and After Escape Sequence = 36 (2 seconds)
  15588.               
  15589.                  Reset Modem String = ATZ
  15590.               
  15591.                  Begin Answer String = ATH0S0=1
  15592.               
  15593.                  Modem Off-hook String = ATM0H1
  15594.               
  15595.                  No Answer String = ATS0=0
  15596.               
  15597.                  Delay Between Commands = 18 (1 second)
  15598.               
  15599.                  Delay After Connection = 126 (7 seconds)
  15600.               
  15601.                  Dial String = ATM1DP (ATM1DT if your line has touchtone)
  15602.               
  15603.                  Result Code 1 = 1
  15604.               
  15605.                  Baud Rate 1 = 300
  15606.               
  15607.                  Result Code 2 = 5
  15608.               
  15609.                  Baud Rate 2 = 1200
  15610.               
  15611.                  Result Code 3 = 9
  15612.               
  15613.                  Baud Rate 3 = 300
  15614.               
  15615.                  Result Code 4 = 10
  15616.               
  15617.                  Baud Rate 4 = 2400
  15618.               
  15619.                  Result Code 5 = 11
  15620.               
  15621.                  Baud Rate 5 = 4800
  15622.               
  15623.                  Result Code 6 = 12
  15624.               
  15625.                  Baud Rate 6 = 9600
  15626.               
  15627.                  Result Code 7 = 15
  15628.               
  15629.                  Baud Rate 7 = 7200
  15630.  
  15631.               
  15632.  
  15633.  
  15634.  
  15635.  
  15636.  
  15637.               
  15638.                  Result Code 8 = 16
  15639.               
  15640.                  Baud Rate 8 = 12000
  15641.               
  15642.                  Result Code 9 = 17
  15643.               
  15644.                  Baud Rate 9 = 14400
  15645.               
  15646.                  Result Code 10 = 18
  15647.               
  15648.                  Baud Rate 10 = 19200
  15649.               
  15650.                  Result Code 11 = 19
  15651.               
  15652.                  Baud Rate 11 = 38400
  15653.               
  15654.                  Result Code 12 = 20
  15655.               
  15656.                  Baud Rate 12 = 57600
  15657.               
  15658.                  
  15659.               
  15660.                  Set the unused result code/Baud rate sets the same as set 1 to avoid false connection on a result 
  15661.                  code of zero.
  15662.               
  15663.                    A.9.Zoom 14.4 VFX Modem Settings
  15664.               
  15665.                  Connect the modem off-line to a terminal or terminal emulator program, and enter
  15666.               
  15667.                  
  15668.               
  15669.                  AT &F &W
  15670.               
  15671.                  
  15672.               
  15673.                  to set the modem to factory defaults.  Then enter
  15674.               
  15675.                  
  15676.               
  15677.                  AT E0 M0 V0 W2 &C1 &D2 S38=0 &W
  15678.               
  15679.                  
  15680.               
  15681.                  Then, for the "PL" command, specify modem type "A", and for the "PM" command, specify:
  15682.               
  15683.                  
  15684.               
  15685.                  Initial Baud Rate = 19200
  15686.               
  15687.                  Escape Sequence = +++
  15688.               
  15689.                  Delay Before and After Escape Sequence = 36 (2 seconds)
  15690.               
  15691.                  Reset Modem String = ATZ
  15692.               
  15693.                  Begin Answer String = ATH0S0=1
  15694.               
  15695.                  Modem Off-hook String = ATM0H1
  15696.               
  15697.                  No Answer String = ATS0=0
  15698.               
  15699.                  Delay Between Commands = 36 (2 seconds)
  15700.               
  15701.                  Delay After Connection = 126 (7 seconds)
  15702.               
  15703.  
  15704.               
  15705.  
  15706.  
  15707.  
  15708.  
  15709.  
  15710.                  Dial String = ATM1DP (ATM1DT if your line has touchtone)
  15711.               
  15712.                  Result Code 1 = 1
  15713.               
  15714.                  Baud Rate 1 = 300
  15715.               
  15716.                  Result Code 2 = 5
  15717.               
  15718.                  Baud Rate 2 = 1200
  15719.               
  15720.                  Result Code 3 = 10
  15721.               
  15722.                  Baud Rate 3 = 2400
  15723.               
  15724.                  Result Code 4 = 11
  15725.               
  15726.                  Baud Rate 4 = 4800
  15727.               
  15728.                  Result Code 5 = 12
  15729.               
  15730.                  Baud Rate 5 = 9600
  15731.               
  15732.                  Result Code 6 = 13
  15733.               
  15734.                  Baud Rate 6 = 14400
  15735.               
  15736.                  Result Code 7 = 14
  15737.               
  15738.                  Baud Rate 7 = 19200
  15739.               
  15740.                  Result Code 8 = 18
  15741.               
  15742.                  Baud Rate 8 = 57600
  15743.               
  15744.                  Result Code 9 = 28
  15745.               
  15746.                  Baud Rate 9 = 38400
  15747.               
  15748.                  
  15749.               
  15750.                  Set the unused result code/Baud rate sets the same as set 1 to avoid false connection on a result 
  15751.                  code of zero.
  15752.               
  15753.                  Common Problems:
  15754.               
  15755.                  A caller with MNP or V.42 calls Bulletron on a phone line with an old 2400 Baud modem.  
  15756.                  Bulletron tells him to reset his communications parameters to 8-N-1, but they are already set for that.  
  15757.                  The problem is that, after carrier has been established, a modem with V.42 or MNP will attempt to 
  15758.                  negotiate error-control with the other modem.  The negotiation for V.42 or MNP is always done with 7 
  15759.                  data bits and even parity.  If the BBS looks at the line too soon after carrier is established, it will see this 
  15760.                  negotiation and interpret it as keystrokes from the user and complain.  The solution is to set the "delay 
  15761.                  after connecting" to seven seconds (126 clock ticks).  This makes Bulletron ignore input from the 
  15762.                  remote modem that might be V.42 or MNP error-control feature negotiation.  Having an eight bit 
  15763.                  character size is critical to some download protocols (everything except KERMIT), and to IBM PC 
  15764.                  extended graphics characters.
  15765.               
  15766.                    A.10.  Zoom 28.8 VFX Modem Settings
  15767.               
  15768.                  Connect the modem off-line to a terminal or terminal emulator program, and enter
  15769.               
  15770.                  
  15771.               
  15772.                  AT &F &W
  15773.               
  15774.                  
  15775.               
  15776.  
  15777.               
  15778.  
  15779.  
  15780.  
  15781.  
  15782.  
  15783.                  to set the modem to factory defaults.  Then enter
  15784.               
  15785.                  
  15786.               
  15787.                  AT E0 M0 V0 W2 &C1 &D2 -K0 S38=0 &W
  15788.               
  15789.                  
  15790.               
  15791.                  Then, for the "PL" command, specify modem type "A", and for the "PM" command, specify:
  15792.               
  15793.                  
  15794.               
  15795.                  Initial Baud Rate = 57600
  15796.               
  15797.                  Escape Sequence = +++
  15798.               
  15799.                  Delay Before and After Escape Sequence = 48 (2.75 seconds)
  15800.               
  15801.                  Reset Modem String = ATZ
  15802.               
  15803.                  Begin Answer String = ATH0S0=1
  15804.               
  15805.                  Modem Off-hook String = ATM0H1
  15806.               
  15807.                  No Answer String = ATS0=0
  15808.               
  15809.                  Delay Between Commands = 48 (2.75 seconds)
  15810.               
  15811.                  Delay After Connection = 76 (4.25 seconds)
  15812.               
  15813.                  Dial String = ATM1DP (ATM1DT if your line has touchtone)
  15814.               
  15815.                  Result Code 1 = 1
  15816.               
  15817.                  Baud Rate 1 = 300
  15818.               
  15819.                  Result Code 2 = 5
  15820.               
  15821.                  Baud Rate 2 = 1200
  15822.               
  15823.                  Result Code 3 = 10
  15824.               
  15825.                  Baud Rate 3 = 2400
  15826.               
  15827.                  Result Code 4 = 11
  15828.               
  15829.                  Baud Rate 4 = 4800
  15830.               
  15831.                  Result Code 5 = 12
  15832.               
  15833.                  Baud Rate 5 = 9600
  15834.               
  15835.                  Result Code 6 = 13
  15836.               
  15837.                  Baud Rate 6 = 7200
  15838.               
  15839.                  Result Code 7 = 14
  15840.               
  15841.                  Baud Rate 7 = 12000
  15842.               
  15843.                  Result Code 8 = 15
  15844.               
  15845.                  Baud Rate 8 = 14400
  15846.               
  15847.                  Result Code 9 = 16
  15848.               
  15849.  
  15850.               
  15851.  
  15852.  
  15853.  
  15854.  
  15855.  
  15856.                  Baud Rate 9 = 19200
  15857.               
  15858.                  Result Code 10 = 17
  15859.               
  15860.                  Baud Rate 10 = 38400
  15861.               
  15862.                  Result Code 11 = 18
  15863.               
  15864.                  Baud Rate 11 = 57600
  15865.               
  15866.                  Result Code 12 = 59
  15867.               
  15868.                  Baud Rate 12 = 16800
  15869.               
  15870.                  Result Code 13 = 61
  15871.               
  15872.                  Baud Rate 13 = 21600
  15873.               
  15874.                  Result Code 14 = 62
  15875.               
  15876.                  Baud Rate 14 = 24000
  15877.               
  15878.                  Result Code 15 = 63
  15879.               
  15880.                  Baud Rate 15 = 26400
  15881.               
  15882.                  Result Code 16 = 64
  15883.               
  15884.                  Baud Rate 16 = 28800
  15885.               
  15886.                  
  15887.               
  15888.                  Set the unused result code/Baud rate sets the same as set 1 to avoid false connection on a result 
  15889.                  code of zero.
  15890.               
  15891.                  Common Problems:
  15892.               
  15893.                  A caller with MNP or V.42 calls Bulletron on a phone line with an old 2400 Baud modem.  
  15894.                  Bulletron tells him to reset his communications parameters to 8-N-1, but they are already set for that.  
  15895.                  The problem is that, after carrier has been established, a modem with V.42 or MNP will attempt to 
  15896.                  negotiate error-control with the other modem.  The negotiation for V.42 or MNP is always done with 7 
  15897.                  data bits and even parity.  If the BBS looks at the line too soon after carrier is established, it will see this 
  15898.                  negotiation and interpret it as keystrokes from the user and complain.  The solution is to set the "delay 
  15899.                  after connecting" to seven seconds (126 clock ticks).  This makes Bulletron ignore input from the 
  15900.                  remote modem that might be V.42 or MNP error-control feature negotiation.  Having an eight bit 
  15901.                  character size is critical to some download protocols (everything except KERMIT), and to IBM PC 
  15902.                  extended graphics characters.  
  15903.               
  15904.                    A.11.  Prometheus Linelink 144 Modem Settings
  15905.               
  15906.                  Connect the modem off-line to a terminal or terminal emulator program, and enter
  15907.               
  15908.                  
  15909.               
  15910.                  AT &F &W
  15911.               
  15912.                  
  15913.               
  15914.                  to set the modem to factory defaults.  Then enter
  15915.               
  15916.                  
  15917.               
  15918.                  AT E0 M0 V0 &C1 &D2 S38=1 &W
  15919.               
  15920.                  
  15921.               
  15922.  
  15923.               
  15924.  
  15925.  
  15926.  
  15927.  
  15928.  
  15929.                  Then, for the "PL" command, specify modem type "A", and for the "PM" command, specify:
  15930.               
  15931.                  
  15932.               
  15933.                  Initial Baud Rate = 19200
  15934.               
  15935.                  Escape Sequence = +++
  15936.               
  15937.                  Delay Before and After Escape Sequence = 27 (1.5 seconds)
  15938.               
  15939.                  Reset Modem String = ATZ
  15940.               
  15941.                  Begin Answer String = ATH0S0=1
  15942.               
  15943.                  Modem Off-hook String = ATM0H1
  15944.               
  15945.                  No Answer String = ATS0=0
  15946.               
  15947.                  Delay Between Commands = 18 (1 second)
  15948.               
  15949.                  Delay After Connection = 126 (7 seconds)
  15950.               
  15951.                  Dial String = ATM1DP (ATM1DT if your line has touchtone)
  15952.               
  15953.                  Result Code 1 = 1
  15954.               
  15955.                  Baud Rate 1 = 300
  15956.               
  15957.                  Result Code 2 = 5
  15958.               
  15959.                  Baud Rate 2 = 1200
  15960.               
  15961.                  Result Code 3 = 10
  15962.               
  15963.                  Baud Rate 3 = 2400
  15964.               
  15965.                  Result Code 4 = 12
  15966.               
  15967.                  Baud Rate 4 = 9600
  15968.               
  15969.                  Result Code 5 = 13
  15970.               
  15971.                  Baud Rate 5 = 14400
  15972.               
  15973.                  Result Code 6 = 14
  15974.               
  15975.                  Baud Rate 6 = 19200
  15976.               
  15977.                  Result Code 7 = 16
  15978.               
  15979.                  Baud Rate 7 = 300
  15980.               
  15981.                  Result Code 8 = 18
  15982.               
  15983.                  Baud Rate 8 = 1200
  15984.               
  15985.                  Result Code 9 = 19
  15986.               
  15987.                  Baud Rate 9 = 2400
  15988.               
  15989.                  Result Code 10 = 20
  15990.               
  15991.                  Baud Rate 10 = 9600
  15992.               
  15993.                  Result Code 11 = 21
  15994.               
  15995.  
  15996.               
  15997.  
  15998.  
  15999.  
  16000.  
  16001.  
  16002.                  Baud Rate 11 = 19200
  16003.               
  16004.                  Result Code 12 = 26
  16005.               
  16006.                  Baud Rate 12 = 38400
  16007.               
  16008.                  Result Code 13 = 27
  16009.               
  16010.                  Baud Rate 13 = 57600
  16011.               
  16012.                  
  16013.               
  16014.                  Set the unused result code/Baud rate sets the same as set 1 to avoid false connection on a result 
  16015.                  code of zero.
  16016.               
  16017.                  Common Problems:
  16018.               
  16019.                  A caller with MNP or V.42 calls Bulletron on a phone line with an old 2400 Baud modem.  
  16020.                  Bulletron tells him to reset his communications parameters to 8-N-1, but they are already set for that.  
  16021.                  The problem is that, after carrier has been established, a modem with V.42 or MNP will attempt to 
  16022.                  negotiate error-control with the other modem.  The negotiation for V.42 or MNP is always done with 7 
  16023.                  data bits and even parity.  If the BBS looks at the line too soon after carrier is established, it will see this 
  16024.                  negotiation and interpret it as keystrokes from the user and complain.  The solution is to set the "delay 
  16025.                  after connecting" to seven seconds (126 clock ticks).  This makes Bulletron ignore input from the 
  16026.                  remote modem that might be V.42 or MNP error-control feature negotiation.  Having an eight bit 
  16027.                  character size is critical to some download protocols (everything except KERMIT), and to IBM PC 
  16028.                  extended graphics characters.
  16029.               
  16030.                    A.12.  Practical Peripherals 14400FXMT and PM144MT II Modem 
  16031.                    Settings
  16032.               
  16033.                  Connect the modem off-line to a terminal or terminal emulator program, and enter
  16034.               
  16035.                  
  16036.               
  16037.                  AT &F1 &W0
  16038.               
  16039.                  
  16040.               
  16041.                  to set the modem to factory defaults.  Then enter
  16042.               
  16043.                  
  16044.               
  16045.                  AT E0 M0 V0 W2 &W0
  16046.               
  16047.                  
  16048.               
  16049.                  Then, for the "PL" command, specify modem type "A", and for the "PM" command, specify:
  16050.               
  16051.                  
  16052.               
  16053.                  Initial Baud Rate = 19200
  16054.               
  16055.                  Escape Sequence = +++
  16056.               
  16057.                  Delay Before and After Escape Sequence = 36 (2 seconds)
  16058.               
  16059.                  Reset Modem String = ATZ
  16060.               
  16061.                  Begin Answer String = ATH0S0=1
  16062.               
  16063.                  Modem Off-hook String = ATM0H1
  16064.               
  16065.                  No Answer String = ATS0=0
  16066.               
  16067.                  Delay Between Commands = 36 (2 seconds)
  16068.  
  16069.               
  16070.  
  16071.  
  16072.  
  16073.  
  16074.  
  16075.               
  16076.                  Delay After Connection = 126 (7 seconds)
  16077.               
  16078.                  Dial String = ATM1DP (ATM1DT if your line has touchtone)
  16079.               
  16080.                  Result Code 1 = 1
  16081.               
  16082.                  Baud Rate 1 = 300
  16083.               
  16084.                  Result Code 2 = 5
  16085.               
  16086.                  Baud Rate 2 = 1200
  16087.               
  16088.                  Result Code 3 = 10
  16089.               
  16090.                  Baud Rate 3 = 2400
  16091.               
  16092.                  Result Code 4 = 11
  16093.               
  16094.                  Baud Rate 4 = 4800
  16095.               
  16096.                  Result Code 5 = 12
  16097.               
  16098.                  Baud Rate 5 = 9600
  16099.               
  16100.                  Result Code 6 = 13
  16101.               
  16102.                  Baud Rate 6 = 14400
  16103.               
  16104.                  Result Code 7 = 14
  16105.               
  16106.                  Baud Rate 7 = 19200
  16107.               
  16108.                  Result Code 8 = 18
  16109.               
  16110.                  Baud Rate 8 = 57600
  16111.               
  16112.                  Result Code 9 = 24
  16113.               
  16114.                  Baud Rate 9 = 7200
  16115.               
  16116.                  Result Code 10 = 25
  16117.               
  16118.                  Baud Rate 10 = 12000
  16119.               
  16120.                  Result Code 11 = 28
  16121.               
  16122.                  Baud Rate 11 = 38400
  16123.               
  16124.                  Result Code 12 = 31
  16125.               
  16126.                  Baud Rate 12 = 115200
  16127.               
  16128.                  
  16129.               
  16130.                  Set the unused result code/Baud rate sets the same as set 1 to avoid false connection on a result 
  16131.                  code of zero.
  16132.               
  16133.                  Common Problems:
  16134.               
  16135.                  A caller with MNP or V.42 calls Bulletron on a phone line with an old 2400 Baud modem.  
  16136.                  Bulletron tells him to reset his communications parameters to 8-N-1, but they are already set for that.  
  16137.                  The problem is that, after carrier has been established, a modem with V.42 or MNP will attempt to 
  16138.                  negotiate error-control with the other modem.  The negotiation for V.42 or MNP is always done with 7 
  16139.                  data bits and even parity.  If the BBS looks at the line too soon after carrier is established, it will see this 
  16140.                  negotiation and interpret it as keystrokes from the user and complain.  The solution is to set the "delay 
  16141.  
  16142.               
  16143.  
  16144.  
  16145.  
  16146.  
  16147.  
  16148.                  after connecting" to seven seconds (126 clock ticks).  This makes Bulletron ignore input from the 
  16149.                  remote modem that might be V.42 or MNP error-control feature negotiation.  Having an eight bit 
  16150.                  character size is critical to some download protocols (everything except KERMIT), and to IBM PC 
  16151.                  extended graphics characters.
  16152.               
  16153.    
  16154.               
  16155.               
  16156.  
  16157.  
  16158.  
  16159.  
  16160.  
  16161.               B.   Appendix B - National Bureau of Standards Time Setting
  16162.               
  16163.                  A branch of the United States Government, called the National Bureau of Standards, maintains a 
  16164.                  highly accurate real-time clock in Fort Collins, Colorado.  This clock is the standard used for all 
  16165.                  national defense work, space flight, aircraft and most commercial broadcasting.  A small public domain 
  16166.                  utility program named "NBSCOM" can be executed on your computer to call the National Bureau of 
  16167.                  Standards via modem and synchronize your clock with the standard.  For OS/2 users, we have prepared 
  16168.                  an adaptation of this program that runs in OS/2 protect mode.  The name of the OS/2 adaptation is 
  16169.                  "NBSCOM2".  Operating instructions for both programs are included in a file named 
  16170.                  "NBSCOM.DOC".  Copies of both executable programs, documentation, and initialization parameter 
  16171.                  files are available on our technical support BBS in a file named "NBSCOM.ZIP".  It is a good idea to 
  16172.                  include NBSCOM in your AUTOEXEC.BAT file, or NBSCOM2 in your STARTUP.CMD file, so 
  16173.                  that message and file creation times will remain consistent across the wide area network.
  16174.               
  16175.               
  16176.  
  16177.  
  16178.  
  16179.  
  16180.  
  16181.               C.   Appendix C - Bulletron Errors and Messages
  16182.               
  16183.                  Bulletron puts out informational, warning, and error messages to either the printer or to the disk 
  16184.                  file log.  Messages that are  not preceded by a number will only display on the monitor.  Messages 
  16185.                  beginning with 0 or 1 are informational only.  Messages beginning with 9 are errors and a further 
  16186.                  description is listed under Error Codes.  The disk file is a simple ASCII text file which can be easily 
  16187.                  read with a word processor or a BASIC program.  Since the error messages are in a fixed format, the 
  16188.                  SYSOP can write a program to extract information about the operation of his system based on the 
  16189.                  message numbers listed below if he chooses:  
  16190.               
  16191.                  
  16192.               
  16193.                  0021 SESSION
  16194.               
  16195.                  
  16196.               
  16197.                  This message in the log tells various information about a user logon session.  See the section 
  16198.                  "The System Log File" for the format of the message.  
  16199.               
  16200.                  
  16201.               
  16202.                  0022 OUTFEAT account menuopt time baudrate
  16203.               
  16204.                  
  16205.               
  16206.                  This message in the log files is created any time a user accesses outside features.  It can be used to 
  16207.                  provide additional billing based on the length of time the user was in the feature indicated by 
  16208.                  "menuopt".
  16209.               
  16210.                  
  16211.               
  16212.                  0023 LINE-ERR COMn CS:XX TS:XX MS:XX CR:XX CV:XX
  16213.               
  16214.                  
  16215.               
  16216.                  Some hardware condition occurred such as parity error, framing error, break, overrun error, CTS 
  16217.                  conflict, or other condition which could halt transmission on a line.  Normally Bulletron detects these 
  16218.                  line errors and resets the flags so that processing continues.  This message is a warning and would be of 
  16219.                  interest only if it is a frequent occurrence.  Details of fir five numbers displayed is given below, under 
  16220.                  "Serial Port Driver Errors".
  16221.               
  16222.                  
  16223.               
  16224.                  * 1010 Purged questionnaire for aaa xxxxxx
  16225.               
  16226.                  
  16227.               
  16228.                  Informational message noting that the questionnaire on sub-board "aaa" for account "xxxxxx" 
  16229.                  was deleted.
  16230.               
  16231.                  
  16232.               
  16233.                  1030 Deleting account "xxxx" by acct
  16234.               
  16235.                  
  16236.               
  16237.                  Informational message saying that account "acct" deleted SYSOP whose account code is "xxxx".
  16238.               
  16239.                  
  16240.               
  16241.                  1040 File xxxxxx uploaded by yyyy
  16242.               
  16243.                  
  16244.               
  16245.                  During a network connection, a file named "xxxxxx" was ploaded during the connection to node 
  16246.                  "yyyy".  This message is in the log file for informational purposes to explain the source of any 
  16247.  
  16248.               
  16249.  
  16250.  
  16251.  
  16252.  
  16253.  
  16254.                  uploaded files.
  16255.               
  16256.                  
  16257.               
  16258.                  1100 Attempted to dial xxx at yyy
  16259.               
  16260.                  
  16261.               
  16262.                  This tells that Bulletron attempted to dial node "xxx" at telephone number "yyy", but was NOT 
  16263.                  successful in connecting.  It could be that the line was busy.  If the message shows up repeatedly, check 
  16264.                  that the telephone number is correct.  This message appears in the log file and is for informational 
  16265.                  purposes only.
  16266.               
  16267.                  
  16268.               
  16269.                  1110 Logged on to xxx
  16270.               
  16271.                  
  16272.               
  16273.                  This informational message warns you that Bulletron successfully connected to node "xxx" to 
  16274.                  network messages.  The purpose of this message is to explain any long distance telephone calls that 
  16275.                  were dialed.
  16276.               
  16277.                  
  16278.               
  16279.                  1115 RCVD
  16280.               
  16281.                  
  16282.               
  16283.                  This message appears in the log file and is for informational purposes only.  It provides an audit 
  16284.                  trail of messages received over the network.
  16285.               
  16286.                  
  16287.               
  16288.                  1116 SENT
  16289.               
  16290.                  
  16291.               
  16292.                  This message appears in the log file and is for informational purposes only.  It provides an audit 
  16293.                  trail of messages sent over the network.
  16294.               
  16295.                  
  16296.               
  16297.                  1118 NOSAVE
  16298.               
  16299.                  
  16300.               
  16301.                  This is an informational message written to the log file to as an audit trail for any messages that 
  16302.                  were transmitted over the network but were not saved.  Normally this would indicate an echo board 
  16303.                  message that has already been received, or an echo board message for a board which does not exist on 
  16304.                  the receiving system.
  16305.               
  16306.                  
  16307.               
  16308.                  1119 Network aborted
  16309.               
  16310.                  
  16311.               
  16312.                  The network transmission was aborted prematurely.  This could be caused by telephone 
  16313.                  disconnection and is for informational purposes only.
  16314.               
  16315.                  
  16316.               
  16317.                  1130 No carrier xxx yyy
  16318.               
  16319.                  
  16320.  
  16321.               
  16322.  
  16323.  
  16324.  
  16325.  
  16326.  
  16327.               
  16328.                  No carrier was received while calling node "xxx" at telephone number "yyy".  This is an 
  16329.                  informational message written to the log file.  If it occurs frequently, check that you have  the correct 
  16330.                  telephone number for that node.
  16331.               
  16332.                  
  16333.               
  16334.                  1131 Connected and logging on xxx
  16335.               
  16336.                  
  16337.               
  16338.                  This is an informational message written to the log file to explain any long distance telephone 
  16339.                  calls initiated by Bulletron.  It indicates that it did connect, but if the account or password on the remote 
  16340.                  system are not correct, a successful network connection may still not have been made.
  16341.               
  16342.                  
  16343.               
  16344.                  1300 xxxxxx downloaded ffffffff
  16345.               
  16346.                  
  16347.               
  16348.                  Informational message indicating that account "xxxxxx" downloaded file "ffffffff".
  16349.               
  16350.                  
  16351.               
  16352.                  1301 aaaaaa deleted ffffffff
  16353.               
  16354.                  
  16355.               
  16356.                  User "aaaaaa" deleted file "ffffffff".
  16357.               
  16358.                  
  16359.               
  16360.                  9000 Error in xxxxxx err cte on file ctf
  16361.               
  16362.                  
  16363.               
  16364.                  These are C-Tree file errors.  The function that it was performing was "xxxxxx" on file "ctf" 
  16365.                  when C-Tree returned error "cte".  The file, "ctf", can be identified by files listed in BBSFILE9.DAT.  
  16366.                  See Appendix D.1 for details on C-Tree errors.
  16367.               
  16368.                  
  16369.               
  16370.                  9010 xxxx
  16371.               
  16372.                  
  16373.               
  16374.                  This is a general message.  "xxxx" will be the text of the message which should be self 
  16375.                  explanatory.  The message goes to the log file.
  16376.               
  16377.                  
  16378.               
  16379.                  ABORT - Cannot create xxxxx eee
  16380.               
  16381.                  
  16382.               
  16383.                  During an xmodem upload, Bulletron could not create file named "xxxxx" because of C runtime 
  16384.                  error "eee".  See Appendix D.2 for details on C runtime errors.
  16385.               
  16386.                  
  16387.               
  16388.                  Bad hdr toacct xxxx.  Bad header, msg deleted
  16389.               
  16390.                  
  16391.               
  16392.                  The "to account" header information was bad and displaying it could cause Bulletron to 
  16393.  
  16394.               
  16395.  
  16396.  
  16397.  
  16398.  
  16399.  
  16400.                  terminate.  To protect the system from terminating, any message containing bad header information is  
  16401.                  deleted.
  16402.               
  16403.                  
  16404.               
  16405.                  Can't setup COMn, status e
  16406.               
  16407.                  
  16408.               
  16409.                  COMM port "n" cannot be setup.  The status error return is "e".  Check that the multiport board is 
  16410.                  configured and installed correctly.
  16411.               
  16412.                  
  16413.               
  16414.                  Cannot add temp record cte ctf
  16415.               
  16416.                  
  16417.               
  16418.                  While copying the "utilities" sub-board to the temporary file on the RAM drive, a record could 
  16419.                  not be added.  Probably the RAM drive is not large enough to hold all of the messages on the utility 
  16420.                  board.  If you cannot increase the size of the RAM drive or remove some files on it, then do not use the 
  16421.                  VDISK parameter.  "cte" is the C-Tree error and "ctf" is the C-Tree file number.
  16422.               
  16423.                  
  16424.               
  16425.                  Cannot create file ffffffff error nn
  16426.               
  16427.                  
  16428.               
  16429.                  C runtime error nn was detected trying to create an uploaded file named ffffffff.  See Appendix 
  16430.                  D.2 for details on C runtime errors.
  16431.               
  16432.                  
  16433.               
  16434.                  Cannot find node xxx key yyy
  16435.               
  16436.                  
  16437.               
  16438.                  The network node "xxx" is not defined in the network node table.  "yyy" is for diagnostic 
  16439.                  purposes.  Use the "PXL" command to setup that node.
  16440.               
  16441.                  
  16442.               
  16443.                  Cannot init port d at xxx because yyy
  16444.               
  16445.                  
  16446.               
  16447.                  While trying to dial out for the network, Bulletron could not initialize COMM port "d" at 
  16448.                  Baudrate "xxx" because of serial driver error code "yyy".  Check that the Baudrate is a valid Baudrate 
  16449.                  and correct the calling Baudrate with the "PXL" command for the node you are calling.  See Appendix 
  16450.                  D.3 for serial driver error codes.
  16451.               
  16452.                  
  16453.               
  16454.                  Cannot init port d at bb because xx task tt
  16455.               
  16456.                  
  16457.               
  16458.                  This error occurs when Bulletron attempts to connect with Outside Features on COM port "d" at 
  16459.                  Baudrate "bb".  The serial driver error code is "xx" and the originating user task is "tt".  (This 
  16460.                  information is provided because port "d" will not be on the line that created the message which is 
  16461.                  line/task "tt".)  Check that the Baudrate as defined in Outside Features Definition, "PXO", is a valid 
  16462.                  baudrate.  See  Appendix D.3 for serial driver error codes.
  16463.               
  16464.                  
  16465.               
  16466.  
  16467.               
  16468.  
  16469.  
  16470.  
  16471.  
  16472.  
  16473.                  Cannot open file error nn
  16474.               
  16475.                  
  16476.               
  16477.                  "nn" is a C runtime error message.  See Appendix D.2 for details on C runtime errors.
  16478.               
  16479.                  
  16480.               
  16481.                  Cannot open file xxxxx error nn
  16482.               
  16483.                  
  16484.               
  16485.                  XMODEM error sending file "xxxxxx" and C runtime error "nn".  See Appendix D.2 for details 
  16486.                  on C runtime errors.
  16487.               
  16488.                  
  16489.               
  16490.                  Cannot open printer/log because n
  16491.               
  16492.                  
  16493.               
  16494.                  The printer or log file could not be opened.  The C runtime error is "n".  See the list of C runtime 
  16495.                  errors for the possible reason why the log could not be opened.  The log will go to the drive listed in the 
  16496.                  "PP" command for the alternate drive.  "*" is the default drive.  Check that the alternate drive is a valid 
  16497.                  drive for your system.  See Appendix D.2 for details on C runtime errors.
  16498.               
  16499.                  
  16500.               
  16501.                  Cannot open BBSFILE9.DAT to start database
  16502.               
  16503.                  
  16504.               
  16505.                  Either file BBSFILE9.DAT is not in the default directory, or one of the files referenced in 
  16506.                  BBSFILE9.DAT is not found in the default directory.
  16507.               
  16508.                  
  16509.               
  16510.                  Could not create TEMPHELP.DAT cte ctf
  16511.               
  16512.                  
  16513.               
  16514.                  The "VDISKn" parameter was used to create a temporary file of the utility/help file board on a 
  16515.                  RAM drive, but the file could not be created.  Check that you selected the proper drive (the "n" on 
  16516.                  VDISKn) in the parameter.  The C-Tree file in error is "ctf" and the error code is "cte".  See Appendix 
  16517.                  D.1 for details on C-Tree errors.
  16518.               
  16519.                  
  16520.               
  16521.                  Counter record not found
  16522.               
  16523.                  
  16524.               
  16525.                  The parameter file may be corrupted.  Delete BBPARMS.IDX and run REBUILD2.  Use the 
  16526.                  "PXC" command check or reset the counters.
  16527.               
  16528.                  
  16529.               
  16530.                  Data error nnn with key xxx, notify sysop
  16531.               
  16532.                  
  16533.               
  16534.                  The text branching data is incorrect.  
  16535.               
  16536.                  
  16537.               
  16538.                  Drive xxx has only nnn bytes free 
  16539.  
  16540.               
  16541.  
  16542.  
  16543.  
  16544.  
  16545.  
  16546.               
  16547.                  
  16548.               
  16549.                  This message will display when the drive, specified by "xxx" or DFLT for default, has less than 
  16550.                  64K of space remaining.  "nnn" is the amount of space remaining.  
  16551.               
  16552.                  
  16553.               
  16554.                  Due to technical difficulties, the system is temporarily down.
  16555.               
  16556.                  Please call back later
  16557.               
  16558.                  
  16559.               
  16560.                  This message will display to users calling remotely if any errors occurred during initialization.  
  16561.                  Bulletron will allow the SYSOP to log on locally to correct the errors, but itwill not users on remotely.  
  16562.                  This most commonly happens when an error is detected on another port or modem command.  The 
  16563.                  error will be displayed to the SYSOP locally during start-up, and the SYSOP must "press return" past 
  16564.                  the errors.
  16565.               
  16566.                  
  16567.               
  16568.                  Error n on file nn
  16569.               
  16570.                  
  16571.               
  16572.                  "n" is a C-Tree error and "nn" is the file number.  The file number corresponds to the files listed 
  16573.                  in BBSFILE9.DAT.  Check to see that the file exists in the default directory.  See Appendix D.1 for 
  16574.                  details on C-Tree errors.
  16575.               
  16576.                  
  16577.               
  16578.                  Error n on port d
  16579.               
  16580.                  
  16581.               
  16582.                  Could not initialize COMM port "d" for reason "n". This is an error not reported with the other 
  16583.                  more specific error messages.  Contact IDK Computer Systems regarding this error.
  16584.               
  16585.                  
  16586.               
  16587.                  Exceeded retry call count
  16588.               
  16589.                  
  16590.               
  16591.                  If an attempt is made to dial a node automatically but the retry count (as defined in the "PP" 
  16592.                  command) has been exceeded, Bulletron will NOT attempt to dial it again.  Check that you have the 
  16593.                  correct telephone number, password, and Baud rate for that node.  It could be that Bulletron is 
  16594.                  repeatedly calling but not getting through because of one of these parameters is incorrect.
  16595.               
  16596.                  
  16597.               
  16598.                  Extended Memory error xx user n
  16599.               
  16600.                  
  16601.               
  16602.                  An error occurred trying to allocate extended memory.  There is probably insufficient extended 
  16603.                  memory.  The HeapExpander error code "xx" will help IDK Computer Systems uncover your problem 
  16604.                  if more assistance is necessary.
  16605.               
  16606.                  
  16607.               
  16608.                  Files are corrupted.  Run REBUILD2
  16609.               
  16610.                  
  16611.               
  16612.  
  16613.               
  16614.  
  16615.  
  16616.  
  16617.  
  16618.  
  16619.                  The system was stopped abnormally and the files were not closed properly.  This will occur if 
  16620.                  there is a power failure.  Run the REBUILD2 program to recreate the index files.
  16621.               
  16622.                  
  16623.               
  16624.                  Header error stat = nnn
  16625.               
  16626.                  
  16627.               
  16628.                  XMODEM error on header record.  "nnn" is the C runtime error.  See Appendix D.2 for details 
  16629.                  on C runtime errors.
  16630.               
  16631.                  
  16632.               
  16633.                  HELP file xxxxxxxx missing
  16634.               
  16635.                  
  16636.               
  16637.                  One of the required messages on your "utilities" sub-board is missing.  The name of that message 
  16638.                  is listed as "xxxxxxxx".
  16639.               
  16640.                  
  16641.               
  16642.                  Invalid parameter:
  16643.               
  16644.                  
  16645.               
  16646.                  The parameter on the command line is incorrect.  
  16647.               
  16648.                  
  16649.               
  16650.                  Literal # nn exceeds array xx in record yy
  16651.               
  16652.                  
  16653.               
  16654.                  While loading "PROMPTyy", the size of buffer was exceeded.  It was loading literal number nn 
  16655.                  at the time that the buffer was full.  The maximum size of the literals is "xx".  The literal number is the 
  16656.                  number at the beginning each line in the PROMPT message.  Check that a number was incorrectly 
  16657.                  modified.
  16658.               
  16659.                  
  16660.               
  16661.                  Literal buffer size exceeded at prompt yy
  16662.               
  16663.                  
  16664.               
  16665.                  While loading "PROMPTyy", the size of buffer was exceeded.  This will occur if you modify the 
  16666.                  PROMPT messages and the result of all the literals from the modified PROMPTs exceed the maximum 
  16667.                  allowed.  Reduce the size of some of your messages so that they will fit in the buffer.  There are 
  16668.                  approximately 70 Kbytes of slack space over the size needed for the default prompts.  
  16669.               
  16670.                  
  16671.               
  16672.                  Literal Missing
  16673.               
  16674.                  
  16675.               
  16676.                  One of the lines from the PROMPTn messages in the utility/help file board is missing.  Restore 
  16677.                  the default prompts supplied when you received Bulletron.  
  16678.               
  16679.                  
  16680.               
  16681.                  Logic fault detected
  16682.               
  16683.                  
  16684.               
  16685.  
  16686.               
  16687.  
  16688.  
  16689.  
  16690.  
  16691.  
  16692.                  Contact IDK Computer Systems.
  16693.               
  16694.                  
  16695.               
  16696.                  Message deletion forced
  16697.               
  16698.                  
  16699.               
  16700.                  A message was found which was too big to fit in the Bulletron buffer.  Since it was too big to 
  16701.                  read, no diagnostics could be displayed, so the message was deleted.
  16702.               
  16703.                  
  16704.               
  16705.                  Modem commands missing for line n
  16706.               
  16707.                  
  16708.               
  16709.                  The modem commands are not defined for line "n".  Use the "PM" command to define the 
  16710.                  modem commands.  You can enter "*" for the initial Baud rate to copy modem commands from 
  16711.                  another line.
  16712.               
  16713.                  
  16714.               
  16715.                  Multiuser stat rec not found
  16716.               
  16717.                  
  16718.               
  16719.                  The status record, as defined with "PL" command, was not defined.  This usually occurs only 
  16720.                  when upgrading to a new version with more telephone lines.  Use the "PL" command to define the 
  16721.                  telephone lines.
  16722.               
  16723.                  
  16724.               
  16725.                  No 8250 UART installed on port d
  16726.               
  16727.                  
  16728.               
  16729.                  There is no port hardware installed on the port referenced as port "d".  Use the "PL" command to 
  16730.                  correct the port definitions.
  16731.               
  16732.                  
  16733.               
  16734.                  Node not in node table
  16735.               
  16736.                  
  16737.               
  16738.                  A node attempted to network into your system, but a definition for that node was not found in the 
  16739.                  node definitions.  Use the "PXL" command to define that node to your system.  
  16740.               
  16741.                  
  16742.               
  16743.                  Not enough memory for windows
  16744.               
  16745.                  
  16746.               
  16747.                  Bulletron could not get enough memory to open a window.  Start Bulletron with the 
  16748.                  "NOWINDOWS" parameter.
  16749.               
  16750.                  
  16751.               
  16752.                  Port d out of range
  16753.               
  16754.                  
  16755.               
  16756.                  The COMM port "d" is not a valid port.  Use the "PL" command to correct the comm port 
  16757.                  definitions.
  16758.  
  16759.               
  16760.  
  16761.  
  16762.  
  16763.  
  16764.  
  16765.               
  16766.                  
  16767.               
  16768.                  Port d invalid baud rate
  16769.               
  16770.                  
  16771.               
  16772.                  The Baud rate defined for COM port "d" is incorrect.  Use the "PM" command to correct the 
  16773.                  initial Baud rate for the line accessed with COM port "d".
  16774.               
  16775.                  
  16776.               
  16777.                  Port d is already set up
  16778.               
  16779.                  
  16780.               
  16781.                  COMM port "d" is already defined.  Use the "PL" command to correct the comm port definitions.
  16782.               
  16783.                  
  16784.               
  16785.                  Record for nn is missing
  16786.               
  16787.                  
  16788.               
  16789.                  While trying to load the PROMPT messages, "PROMPTnn" could not be found.
  16790.               
  16791.                  
  16792.               
  16793.                  Sent xx rcvd yy
  16794.               
  16795.                  
  16796.               
  16797.                  During networking, Bulletron synchronizes with the remote system by sending out "xx" and 
  16798.                  expecting to get "xx" back.  If the remote system is saving a message or retrieving a message, there will 
  16799.                  be a delay sending it back hence the requirement for synchronization.  This message will occur if it 
  16800.                  sends out "xx" but receives back "yy" instead of "xx".  It will then retry for 45 seconds.  This 
  16801.                  frequently happens if it finds telephone line noise.
  16802.               
  16803.                  
  16804.               
  16805.                  Shared interrupt error on port d
  16806.               
  16807.                  
  16808.               
  16809.                  The multiport board is not installed or configured correctly.
  16810.               
  16811.                  
  16812.               
  16813.                  System calling itself
  16814.               
  16815.                  
  16816.               
  16817.                  Bulletron will not network to another system with the same node number.
  16818.               
  16819.                  
  16820.               
  16821.                  System date yymm less than last date yymm
  16822.               
  16823.                  
  16824.               
  16825.                  The current system date is more than a month from the last date the system was started.  Check 
  16826.                  that the OS/2 date is correct.  If the current OS/2 date is correct but the OS/2 date the last time Bulletron 
  16827.                  was run is incorrect, start Bulletron with the DATE parameter to override the date checking logic.  
  16828.                  Running with an incorrect date can cause messages to be  purged prematurely.
  16829.               
  16830.                  
  16831.  
  16832.               
  16833.  
  16834.  
  16835.  
  16836.  
  16837.  
  16838.               
  16839.                  System expired
  16840.               
  16841.                  
  16842.               
  16843.                  Contact IDK Computer Systems, Inc.  
  16844.               
  16845.                  
  16846.               
  16847.                  System parameter record not found
  16848.               
  16849.                  
  16850.               
  16851.                  The parameter file, BBPARMS.DAT may be corrupted.  Delete BBPARMS.IDX and run 
  16852.                  REBUILD2.  Also use the "PP" command to check or reset system parameters.
  16853.               
  16854.                  
  16855.               
  16856.                  Time/acclvl not defined.  Use the PXT command
  16857.               
  16858.                  
  16859.               
  16860.                  The parameter file may be corrupted or you may be upgrading with a newer version of Bulletron 
  16861.                  which now supports the "PXT" command.  If you are upgrading from an older version of Oracomm 
  16862.                  which does not support the "PXT" command to Bulletron, log on a sysop and use the "PXT" command 
  16863.                  to define the access levels.  If you are running a version which does support time access levels, delete 
  16864.                  "BBPARMS.IDX" and run  REBUILD2.
  16865.               
  16866.                  
  16867.               
  16868.                  Time-out sndrecv sending xx
  16869.               
  16870.                  
  16871.               
  16872.                  During networking while trying to synchronize with the remote system, Bulletron sent an "xx" 
  16873.                  but did not receive the "xx" back in sufficient time.
  16874.               
  16875.                  
  16876.               
  16877.                  Write error nn
  16878.               
  16879.                  
  16880.               
  16881.                  This error may occur during uploads.  "nn" is the C runtime error number.  Check that there is 
  16882.                  enough space on the disk.
  16883.               
  16884.                  
  16885.               D.   Appendix D - Operating System Errors
  16886.               
  16887.                    D.1.C-Tree Error Codes
  16888.               
  16889.                      2 - KDUP_ERR Key value already exists in index.              
  16890.               
  16891.                      3 - KMAT_ERRCould not delete target key value since "recbyt" does not match associated 
  16892.                      data record position in index.              
  16893.               
  16894.                      4 - KDEL_ERR Could not find target key value in index.  No deletion performed.  May 
  16895.                      indicate improper use of buffers during RWTREC() or RWTVREC().              
  16896.               
  16897.                      5 - KBLD_ERR Cannot call DELBLD() with an index which supports duplicate keys.              
  16898.               
  16899.                      10 - SPAC_ERRINTREE() parameters require too much space.              
  16900.               
  16901.                      11 - SPRM_ERRBad INTREE parameter(s):  either "bufs" < 3, "idxs" < 0, "sect" < 1, or 
  16902.                      "dats" < 0.              
  16903.               
  16904.  
  16905.               
  16906.  
  16907.  
  16908.  
  16909.  
  16910.  
  16911.                      12 - FNOP_ERRCould not open file.  Either file does not exist, "filnam" points to incorrect 
  16912.                      file name, or file is locked by another process.              
  16913.               
  16914.                      13 - FUNK_ERROPNFIL cannot determine the type of file.  C-Tree version 3.3 files must be 
  16915.                      rebuilt before using OPNFIL.              
  16916.               
  16917.                      14 - FCRP_ERRFile appears corrupt at open.  This occurs if a file is updated, and the disk 
  16918.                      protocol is set at "NOTFORCE", and CLSFIL() is not executed.  Rebuild the 
  16919.                      file.              
  16920.               
  16921.                      15 - FCMP_ERRData file has been compacted, but not cleared through REBUILD2.  Rebuild 
  16922.                      the data file.              
  16923.               
  16924.                      16 - KCRAT_ERR   Could not create index file.  Either no space is available on disk or 
  16925.                      "filnam" points to improper name.              
  16926.               
  16927.                      17 - DCRAT_ERR   Could not create data file.  Either no space is available on disk or 
  16928.                      "filnam" points to improper name.              
  16929.               
  16930.                      18 - KOPN_ERRTried to create existing index file.              
  16931.               
  16932.                      19 - DOPN_ERRTried to create existing data file.              
  16933.               
  16934.                      20 - KMIN_ERRKey length too large for node size.  There must be room for at least 3 key 
  16935.                      values per node.  The node size is given by "sect" * 128, where "sect" is 3rd 
  16936.                      INTREE() parameter.              
  16937.               
  16938.                      21 - DREC_ERRCannot create data file with record length smaller than 5.              
  16939.               
  16940.                      22 - FNUM_ERR   "filno" out of range.  0 <= "filno" < "fils", where "fils" is the 2nd 
  16941.                      INTREE() parameter.  This error may occur if BBSERVER has not been 
  16942.                      initialized (via INTISAM(), OPNISAM(), CREISAM() or INTREE()).              
  16943.               
  16944.                      23 - KMEM_ERR   Illegal index member number.              
  16945.               
  16946.                      24 - FCLS_ERRCould not close file.  Usually indicates that memory is clobbered.              
  16947.               
  16948.                      25 -     Bad link in deleted node list.  Delete associated index file and rebuild.              
  16949.               
  16950.                      26 - FACS_ERRFile number ("datno", "filno" or "keyno") is not in use.              
  16951.               
  16952.                      27 - LBOF_ERRData record position before 1st actual data record.              
  16953.               
  16954.                      28 - ZDRN_ERRADDKEY() called with "recbyt" = 0.              
  16955.               
  16956.                      29 - ZREC_ERRData file routine called with "recbyt" = 0.              
  16957.               
  16958.                      30 - LEOF_ERR"recbyt" exceeds the logical end of file.  If "recbyt" is correct, then the data 
  16959.                      file header record may be incorrect.  If so, then rebuild the data file.              
  16960.               
  16961.                      31 - DELFLG_ERR   Next record in delete chain of a fixed record length data file does not 
  16962.                      have the 1st byte set to 0xFF.  Data file header record may be corrupt or the 
  16963.                      C255 constant is incorrect in CTCMPL.H.              
  16964.               
  16965.                      32 - DDRN_ERRAttempt to delete data record twice in a row.              
  16966.               
  16967.                      33 - DNUL_ERR"recptr" is NULL in REDREC(), RRDREC(), REDVREC(), WRTREC() or 
  16968.                      WRTVREC().              
  16969.               
  16970.                      34 - PRDS_ERRCould not find predecessor node.  Indicates that that an index insertion was 
  16971.                      interrupted before completion.  Rebuild index.              
  16972.               
  16973.                      35 - SEEK_ERRlseek() failed in function ctio().  Possible causes are:  out of disk space, 
  16974.                      corrupted record position in file, or corrupted file descriptor.              
  16975.               
  16976.                      36 - READ_ERRRead failed in function ctio().  Possible cause:  corrupted data record 
  16977.  
  16978.               
  16979.  
  16980.  
  16981.  
  16982.  
  16983.  
  16984.                      position in file.              
  16985.               
  16986.                      37 - WRITE_ERR   Write failed in function ctio().  Possible causes are:  out of disk space, 
  16987.                      corrupted record position in file, or corrupted file descriptor.              
  16988.               
  16989.                      38 - VRTO_ERRCould not convert virtually opened file to actually opened file.  Might occur 
  16990.                      if your application uses up some file descriptors after a virtual file has been 
  16991.                      automatically closed.  Protect against this by lowering "MAXVFIL".              
  16992.               
  16993.                      39 - FULL_ERRThe four byte data record position (or node position) address space has been 
  16994.                      exhausted.              
  16995.               
  16996.                      40 - KSIZ_ERR     "sect" * 128 (where "sect" is 3rc INTREE() parameter) was larger when the 
  16997.                      index was created.  Buffers are too small for nodes.              
  16998.               
  16999.                      41 - UDLK_ERRCould not unlock data record.  If dummy lock file is in use, be sure it has a 
  17000.                      file mode of 3.              
  17001.               
  17002.                      42 - DLOK_ERRCould not obtain data record lock.  In a DOS 3.1 system, be sure that the 
  17003.                      network is up, or SHARE.EXE has been installed.              
  17004.               
  17005.                      43 - FVER_ERRCurrent configuration parameters are inconsistent with the configuration 
  17006.                      parameters at the time of file creation.              
  17007.               
  17008.                      44 - OSRL_ERRData file serial number overflow.              
  17009.               
  17010.                      45 - KLEN_ERRKey length exceeds "MAXLEN" parameter.  Change "MAXLEN" in 
  17011.                      CTOPTN.H and recompile BBSRVR.              
  17012.               
  17013.                      46 - FUSE_ERRFile number already in use.              
  17014.               
  17015.                      47 - FINT_ERR     BBSRVR has not been initialized.              
  17016.               
  17017.                      48 - FMOD_ERR   A function has been called for the wrong type of file:  e.g., a variable 
  17018.                      record length function is called for a fixed record length file.              
  17019.               
  17020.                      49 - FSAV_ERRCould not write file directory updates to disk during file extension.              
  17021.               
  17022.                      50 - LNOD_ERRCould not lock index file node.              
  17023.               
  17024.                      51 - UNOD_ERRCould not unlock index file node.  If a dummy lock file is in use, be sure it 
  17025.                      has a file mode of 3.              
  17026.               
  17027.                      52 - KTYP_ERRVariable length and/or floating point keys disabled in CTOPTN.H.              
  17028.               
  17029.                      53 - FTYP_ERRVariable length records disabled in CTOPTN.H.              
  17030.               
  17031.                      54 - REDF_ERRAttempt to write a read only file.              
  17032.               
  17033.                      55 -     File deletion failed.              
  17034.               
  17035.                      56 -     File must be opened EXCLUSIVE for delete.              
  17036.               
  17037.                      57 -     Attempt to write or delete w/o proper lock, or with a conflicting lock (server 
  17038.                      only); see CHECK_LOCK/MUST_LOCK in CTSRVR.C.              
  17039.               
  17040.                      58 -     LOADKEY() called with incorrect key number.  You cannot continue.              
  17041.               
  17042.                      59 -     LOADKEY() called with key out of order.  You may skip this key and 
  17043.                      continue.              
  17044.               
  17045.                      60 -     Fractal out of range:  should be 0 to 100.              
  17046.               
  17047.                      100 -    No current record for ISAM datno.              
  17048.               
  17049.                      101 -    Could not find isam keyno request.              
  17050.  
  17051.               
  17052.  
  17053.  
  17054.  
  17055.  
  17056.  
  17057.               
  17058.                      102 -    Could not open ISAM parameter file.              
  17059.               
  17060.                      103 -    Could not read first 5 parameters in ISAM parameter file.              
  17061.               
  17062.                      104 -    Too many files in ISAM parameter file.              
  17063.               
  17064.                      105 -    Could not undo ISAM update.  Rebuild files.              
  17065.               
  17066.                      106 -    Could not read data file record in ISAM parameter file.              
  17067.               
  17068.                      107 -    Too many keys for data file in ISAM parameter file.              
  17069.               
  17070.                      108 -    Incorrect keyno for index member in parameter file.              
  17071.               
  17072.                      109 -    Too many key segments defined in ISAM parameter file.              
  17073.               
  17074.                      110 -    Could not read segment record in ISAM parameter file.              
  17075.               
  17076.                      111 -    Could not read index file record in ISAM parameter file.              
  17077.               
  17078.                      112 -    LKISAM(ENABLE) found pending locks.              
  17079.               
  17080.                      113 -    No space left in internal lock table.              
  17081.               
  17082.                      114 -    1st byte of data record equals delete flag.              
  17083.               
  17084.                      115 -    Key segments do not match key length.              
  17085.               
  17086.                      116 -    Bad isamod parmeter (isam_fil=isamod).              
  17087.               
  17088.                      117 -    Could not read index member record.              
  17089.               
  17090.                      118 -    NXTSET called before FRSSET for keyno.              
  17091.               
  17092.                      119 -    FRSSET called for index with wrong keytyp.              
  17093.               
  17094.                      120 -    Data record length exceeds rebuild max.              
  17095.               
  17096.                      121 -    Not enough space for sort area.              
  17097.               
  17098.                      122 -    Attempt to change fixed vs variable len.              
  17099.               
  17100.                      123 -    var length header has bad record mark.              
  17101.               
  17102.                      124 -    # of indices does not match (OPNIFIL).              
  17103.               
  17104.                      125 -    C-Tree server already initialized.              
  17105.               
  17106.                      126 -    Bad directory path get.              
  17107.               
  17108.                      127 -    Could not send request.              
  17109.               
  17110.                      128 -    Could not receive answer.              
  17111.               
  17112.                      129 -    Redo call to server.              
  17113.               
  17114.                      130 -    Null file name pointer in OPNFIL.              
  17115.               
  17116.                      131 -    File name length exceeds message size.              
  17117.               
  17118.                      132 -    No room for application message buffer.              
  17119.               
  17120.                      133 -    Could not identify server.              
  17121.               
  17122.                      134 -    Could not get server's Message ID.              
  17123.  
  17124.               
  17125.  
  17126.  
  17127.  
  17128.  
  17129.  
  17130.               
  17131.                      135 -    Could not allocate Application ID.              
  17132.               
  17133.                      136 -    Could not get application message status.              
  17134.               
  17135.                      137 -    Could not set message appl message size.              
  17136.               
  17137.                      138 -    Could not get rid of application message.              
  17138.               
  17139.                      139 -    Badly formed file name.              
  17140.               
  17141.                      140 -    Variable record length too long.              
  17142.               
  17143.                      141 -    Required message size exceeds maximum.              
  17144.               
  17145.                      142 -    Application MAXLEN > server's MAXLEN.              
  17146.               
  17147.                      143 -    Communications handler not installed.              
  17148.               
  17149.                      144 -    Application could not ID output queue.              
  17150.               
  17151.                      145 -    No message space.  Was login ok?              
  17152.               
  17153.                      146 -    Could not update free space info.              
  17154.               
  17155.                      147 -    Space to be reused is not marked deleted.              
  17156.               
  17157.                      148 -    WRTVREC cannot fit record at recbyt.              
  17158.               
  17159.                      149 -    Varlen less than minimum in ADDVREC.              
  17160.               
  17161.                      150 -    Server is shutting down.              
  17162.               
  17163.                      151 -    Could not shut down; transactions pending.              
  17164.               
  17165.                      152 -    Error code 152 undefined.              
  17166.               
  17167.                      153 -    Buffer too small in REDVREC.              
  17168.               
  17169.                      154 -    Zero length record in REDVREC.              
  17170.               
  17171.                      155 -    Error code 155 undefined.              
  17172.               
  17173.                      156 -    Error code 156 undefined.              
  17174.               
  17175.                      157 -    Error code 157 undefined.              
  17176.               
  17177.                      158 -    REDVREC record not marked active.              
  17178.               
  17179.                      159 -    Zero recbyt value.              
  17180.               
  17181.                      160 -    Multi-user interference:  index information updated by the time user got to 
  17182.                      actual data record.              
  17183.               
  17184.                      161 -    User appears inactive.              
  17185.               
  17186.                      162 -    Retry request:  file contention.              
  17187.               
  17188.                      163 -    No more room in server lock table.              
  17189.               
  17190.                      164 -    File number out of range.              
  17191.               
  17192.                      165 -    No ct_file control block.              
  17193.               
  17194.                      166 -    No more ct_file control blocks in server.              
  17195.               
  17196.  
  17197.               
  17198.  
  17199.  
  17200.  
  17201.  
  17202.  
  17203.                      167 -    Could not read request.              
  17204.               
  17205.                      168 -    Could not send answer.              
  17206.               
  17207.                      169 -    Server could not allocate user ctl blks.              
  17208.               
  17209.                      170 -    Bad function number at server.              
  17210.               
  17211.                      171 -    Application message size exceeds server size.              
  17212.               
  17213.                      172 -    Could not allocate server msg buffer.              
  17214.               
  17215.                      173 -    Could not identify server.              
  17216.               
  17217.                      174 -    Could not get server Message ID.              
  17218.               
  17219.                      175 -    Server could not allocate user message area.              
  17220.               
  17221.                      176 -    Could not get server message status.              
  17222.               
  17223.                      177 -    Could not set message server message size.              
  17224.               
  17225.                      178 -    Could not get rid of server message.              
  17226.               
  17227.                      179 -    Server is at full user capacity.              
  17228.               
  17229.                      180 -    Could not read symbolic key name.              
  17230.               
  17231.                      181 -    Could not get memory for key symbol name.              
  17232.               
  17233.                      182 -    No room for sort key.  increase MAXFIL.              
  17234.               
  17235.                      183 -    Could not read file field number values.              
  17236.               
  17237.                      184 -    Attempt to reallocate set space.              
  17238.               
  17239.                      185 -    Not enough memory for multiple sets.              
  17240.               
  17241.                      186 -    Set number out of range.              
  17242.               
  17243.                      187 -    Null buffer in RTREAD.C.              
  17244.               
  17245.                      188 -    Null target buffer in RTREAD.C.              
  17246.               
  17247.                      189 -    Join_to skip.              
  17248.               
  17249.                      190 -    Join_to error.              
  17250.               
  17251.                      191 -    Join_to null fill.              
  17252.               
  17253.                      192 -    Detail_for skip.              
  17254.               
  17255.                      193 -    Detail_for error.              
  17256.               
  17257.                      194 -    Detail_for null fill.              
  17258.               
  17259.                      195 -    Could not get memory for dat symbol name.              
  17260.               
  17261.                      196 -    Exceeded RETRY_LIMIT in RTREAD.C.              
  17262.               
  17263.                  
  17264.               
  17265.                    D.2.C Runtime Error Codes
  17266.               
  17267.                      1 (EDOM) Domain Error.  A parameter used is beyond the allowable domain of the 
  17268.                      function.              
  17269.  
  17270.               
  17271.  
  17272.  
  17273.  
  17274.  
  17275.  
  17276.               
  17277.                      2 (ERANGE)   Range Error.  The value computed is outside the allowable range of the 
  17278.                      function.              
  17279.               
  17280.                      3 (EBADMODE)Bad File Mode.  The file type parameter is not correct.              
  17281.               
  17282.                      4 (EBADNAME)Bad File Name.  The file name is "", a null pointer, or an invalid DDNAME.              
  17283.               
  17284.                      5 (EISTEMPMEM)   Temporary Memory File Error.  Temporary memory files cannot be 
  17285.                      reopened.              
  17286.               
  17287.                      6 (EBADSHARE)   Bad Share Mode.  Valid sharing modes are NONE, ALL, and READ.              
  17288.               
  17289.                      7 (EBUFMODE)Bad Buffer Mode.  The buffer mode was not correct.  Valid buffering modes 
  17290.                      are IOLBF, IOFBF, and IONBF.              
  17291.               
  17292.                      8 (EERRSET)  Bad File Stream.  A previous fatal error occurred on the stream and this is the 
  17293.                      first opportunity to report it.              
  17294.               
  17295.                      9 (EISOPEN)  File Already Open.  The operation is not permitted on the file because a 
  17296.                      process has the file open in an incorrect sharing mode.              
  17297.               
  17298.                      10 (ENOTEXIST)File Not Found.  The file specified cannot be found.  Either the file name 
  17299.                      was not correctly specified, or the file has not been created.              
  17300.               
  17301.                      11 (ENOTINIT)     Not Initial Operation.  This operation must be done before any reads, writes 
  17302.                      or repositions.              
  17303.               
  17304.                      12 (ENULLFCB)Null FCB.  The stream pointer must point to a valid stream.              
  17305.               
  17306.                      13 (EOUTOFMEM)   Out of Memory.  Not enough memory is available to complete the 
  17307.                      operation.              
  17308.               
  17309.                      14 (ESMALLBF)Small Buffer.  The specified buffer size is too small.              
  17310.               
  17311.                      16 (EEXIST)  File Already Exists.  An attempt was made to rename a file to an already 
  17312.                      existing file name.              
  17313.               
  17314.                      17 (ENOGEN)  Cannot Generate File Name.  A call to tmpnam or _tempnam failed because 
  17315.                      all unique file names have been used.              
  17316.               
  17317.                      19 (ENOSEEK) Cannot Seek.  The stream is connected to a device that does not permit the 
  17318.                      seek operation.              
  17319.               
  17320.                      20 (EBADPOS) Bad Position.  The file position is not valid for a file positioning function.              
  17321.               
  17322.                      22 (EBADSEEK)Bad Seek.  The combination of starting point and offset values specified for 
  17323.                      the fseek() function is not valid for the file, or an attempt was made to seek 
  17324.                      beyond the beginning of a binary or text file.              
  17325.               
  17326.                      23 (ENOENT)  Bad File Path.  The file or directory specified cannot be found.              
  17327.               
  17328.                      24 (EACCESS) Access Violation.  The path name specifies a file or directory that cannot be 
  17329.                      written to.              
  17330.               
  17331.                      25 (EMFILE)  Too Many Files.  The file specified cannot be opened to change its 
  17332.                      modification time because too many files are open.              
  17333.               
  17334.                      26 (ENOCMD)  No Command Processor.  The command processor specified by the 
  17335.                      COMSPEC environment variable cannot be found, and CMD.EXE cannot be 
  17336.                      found in any of the directories specified by the PATH environment variable.              
  17337.               
  17338.                      28 (EGETANDPUT)   Read After Write.  A read operation cannot immediately follow a write 
  17339.                      operation.              
  17340.               
  17341.                      29 (EPASTEOF)Past End of File.  Attempted to read past end-of-file.              
  17342.  
  17343.               
  17344.  
  17345.  
  17346.  
  17347.  
  17348.  
  17349.               
  17350.                      30 (ENOTREAD)Not Read Mode.  The file is not open for reading.              
  17351.               
  17352.                      31 (ETOOMANYUNGETC)   Too Many Ungets.  The ungetc() function is not guaranteed to 
  17353.                      work for consecutive calls.              
  17354.               
  17355.                      32 (EUNGETEOF)   Cannot Unget EOF.  The EOF character is not a valid parameter to 
  17356.                      ungetc or ungetch.              
  17357.               
  17358.                      33 (EPUTUNGET)   Cannot Unget after Writing.  The ungetc or ungetch function cannot be 
  17359.                      used immediately following a write operation.              
  17360.               
  17361.                      34 (ECHILD)  Bad Child Process.  The child process does not exist, or the process identifier 
  17362.                      is not correct.              
  17363.               
  17364.                      35 (EINTR)   Child Process Ended Abnormally.  A trap, an unintercepted DosKill call or 
  17365.                      exception, or a hardware error occurred.              
  17366.               
  17367.                      36 (EINVAL)  Invalid Action Code.  Valid action codes for _cwait are WAIT_CHILD and 
  17368.                      WAIT_GRANDCHILD.              
  17369.               
  17370.                      37 (ENOEXEC) Cannot Run Specified File.  The executable format of the file is not valid, or 
  17371.                      the file is not an executable file.              
  17372.               
  17373.                      38 (EAGAIN)  Cannot Start Process.  Another process cannot be created because it will 
  17374.                      exceed the maximum number of processes allowed by OS/2.              
  17375.               
  17376.                      39 (EBADTYPE)Bad Stream Type.  The stream specified is the wrong type for the operation.              
  17377.               
  17378.                      40 (ENOTWRITE)   Not Write Mode.  The file is not opened for writing.              
  17379.               
  17380.                      41 (EPUTANDGET)   Write after Read.  A write operation cannot immediately follow a read 
  17381.                      operation.              
  17382.               
  17383.                      42 (ELARGEBF)Buffer Too Large.  The size of the buffer must be in the range of a long 
  17384.                      integer.              
  17385.               
  17386.                      43 (EBADF)   Bad File Handle.  The file handle passed to _fstat() must be recognized by the 
  17387.                      OS/2 system.              
  17388.               
  17389.                      44 (EXDEV)   Rename Error.  A file cannot be renamed to a different drive or device.              
  17390.               
  17391.                      45 (ENOSPC)  Drive Full.  There is not enough free space on the device to complete the 
  17392.                      requested operation.              
  17393.               
  17394.                      46 (EMATH)   Floating Point Exception.  An unrecognized exception occurred in a math 
  17395.                      routine.  The control word has probably been changed.              
  17396.               
  17397.                      47 (EMODNAME)   Dynamic Link Library Not Found.  The DLL may not exist, or may not 
  17398.                      be specified in the LIBPATH environment variable.              
  17399.               
  17400.                      49 (EMAXATTR)   Bad Block Size.  The value specified for BLKSIZE or LRECL is too 
  17401.                      large.  See fopen for the range of valid values for BLKSIZE and LRECL.              
  17402.               
  17403.                      50 (EREADERROR)   Bad CLD File.  Error in reading the C Locale Description (.CLD) file.  
  17404.                      The .CLD file specified in your DPATH variable may be damaged or have an 
  17405.                      incorrect format.              
  17406.               
  17407.                      51 (EBADATTR)Bad File Attributes.  The value specified for blksize or lrecl conflicts with a 
  17408.                      previously set value.  The values for blksize and lrecl may have been set by 
  17409.                      both a ddname and by fopen.              
  17410.               
  17411.                      60 (EOS2ERR) Operating System Error.  OS/2 returned error code &1.  An operating system 
  17412.                      call returned the error code given.              
  17413.               
  17414.                    D.3.Serial Port Driver Error Codes
  17415.  
  17416.               
  17417.  
  17418.  
  17419.  
  17420.  
  17421.  
  17422.               
  17423.                      -1       General Operating System Error              
  17424.               
  17425.                      -2       Port number out of range              
  17426.               
  17427.                      -3       Port already in use              
  17428.               
  17429.                      -4       Invalid buffer size requested              
  17430.               
  17431.                      -5       No memory available for buffers              
  17432.               
  17433.                      -6       Port driver not initialized              
  17434.               
  17435.                      -7       Invalid parameter in driver call              
  17436.               
  17437.                      -8       Buffer is empty              
  17438.               
  17439.                      -9       Buffer is full              
  17440.               
  17441.                      -10      Function timed out              
  17442.               
  17443.                      -11      Clear to send was not active              
  17444.               
  17445.                      -12      Carrier detect was not active              
  17446.               
  17447.                      -13      Data set ready was not active              
  17448.               
  17449.                      -14      No 8250 UART installed at I/O address              
  17450.               
  17451.                      -15      Xmodem error              
  17452.               
  17453.                      -16      User abort              
  17454.               
  17455.                      -17      Error on file open, close, read, or write              
  17456.               
  17457.                      -18      Xmodem protocol error              
  17458.               
  17459.                      -20      Shared interrupt parameter problem              
  17460.               
  17461.                  
  17462.               
  17463.                  The most common error you will get from the serial port driver is "-1", which usually means that 
  17464.                  the port is already allocated for exclusive use by some other program such as a FAX server or a mouse.
  17465.               
  17466.                  You may occasionally get a "LINE-ERR" message displaying five values:  "CS", "TS", "MS", 
  17467.                  "CR" and "CV".
  17468.               
  17469.                  "CS" is the device driver COM Status:
  17470.               
  17471.                     Bit 0The driver can not transmit because the modem has the CTS signal turned off.              
  17472.               
  17473.                     Bit 1The driver can not transmit because the modem has the  DSR signal turned off.              
  17474.               
  17475.                     Bit 2The driver can not transmit because the modem has the  DCD signal turned off 
  17476.                       (Bulletron disables this mode of  operation).              
  17477.               
  17478.                     Bit 3The driver can not transmit because it received an XOFF character from the 
  17479.                       modem (Bulletron only enables this mode of operation for outside features).              
  17480.               
  17481.                     Bit 4The driver can not transmit because it sent an XOFF character to the modem 
  17482.                       (Bulletron disables this mode of operation).              
  17483.               
  17484.                     Bit 5The driver can not transmit because it is transmitting a line break.              
  17485.               
  17486.                     Bit 6The driver can not transmit because it has a character to transmit immediately 
  17487.                       (Bulletron does not use this mode of operation).              
  17488.  
  17489.               
  17490.  
  17491.  
  17492.  
  17493.  
  17494.  
  17495.               
  17496.                     Bit 7The driver can not recieve because the modem has the DSR signal turned off.              
  17497.               
  17498.                  "TS" is the device driver Transmit Data Status:
  17499.               
  17500.                     Bit 0The driver has WRITE requests in progress or queued.              
  17501.               
  17502.                     Bit 1The driver has data in its transmit queue.              
  17503.               
  17504.                     Bit 2The transmit hardware is currently transmitting data.              
  17505.               
  17506.                     Bit 3The driver has a character waiting to transmit immediately (Bulletron does not use 
  17507.                       this mode of operation).              
  17508.               
  17509.                     Bit 4The driver is waiting to transmit an automaticaaly generated XON character 
  17510.                       (Bulletron only enables this mode of operation for outside features).              
  17511.               
  17512.                     Bit 5The driver is waiting to transmit an automatically generated XOFF character 
  17513.                       (Bulletron only enables this mode of operation for outside features).              
  17514.               
  17515.                     Bit 6undefined              
  17516.               
  17517.                     Bit 7undefined              
  17518.               
  17519.                  "MS" is the device driver Modem Input Signals
  17520.               
  17521.                     Bit 0undefined              
  17522.               
  17523.                     Bit 1undefined              
  17524.               
  17525.                     Bit 2undefined              
  17526.               
  17527.                     Bit 3undefined              
  17528.               
  17529.                     Bit 4Current state of the CTS signal coming from the modem.  The device driver will 
  17530.                       not transmit data to the modem if this is off.              
  17531.               
  17532.                     Bit 5Current state of the DSR signal coming from the modem.  This signal tells the 
  17533.                       BBS that the modem is turned on.  The device driver will not transmit data to, or 
  17534.                       receive data from, the modem if this signal isoff.              
  17535.               
  17536.                     Bit 6Current state of the RI (ring indicator) signal coming from the modem.              
  17537.               
  17538.                     Bit 7Current state of the DCD (carrier detect) signal coming from the modem.  
  17539.                       Bulletron ignores this when there is no call in progress, and logs out the call if this 
  17540.                       goes off during a session.              
  17541.               
  17542.                  "CR" is the device driver COM Error word:
  17543.               
  17544.                     Bit 0Receive queue overrun.  This can only happen during an upload at a high Baud 
  17545.                       rate.  Use a slower Baud rate or a faster CPU if this happens.  It means that the 
  17546.                       program can not write the data to disk as fast as it's coming in.              
  17547.               
  17548.                     Bit 1Receive hardware overrun.  This happens when the  driver does not read the 
  17549.                       UART before the next character arrives.  Starting the BBS with a "BOOSTn" 
  17550.                       parameter, where "n" is greater than zero should eliminate this.              
  17551.               
  17552.                     Bit 2Parity Error.  This should never happen because Bulletron always communicates 
  17553.                       with 8 data bits and no parity.              
  17554.               
  17555.                     Bit 3Framing Error.  This means that the Baud rates for the modem and the computer 
  17556.                       are not the same.  You may have the modem set for type "A" or "B" and the 
  17557.                       modem is not set up for automatic speed buffering, or the modem is set up for 
  17558.                       automatic speed buffering and the BBS is not set for modem type "A" or "B".              
  17559.               
  17560.                     Bits 4 through 15 are undefined.              
  17561.  
  17562.               
  17563.  
  17564.  
  17565.  
  17566.  
  17567.  
  17568.               
  17569.                  "CV" is the device driver COM Event Information:
  17570.               
  17571.                     Bit 0is set whenever a character is read from the UART and placed in the driver's 
  17572.                       receive queue.              
  17573.               
  17574.                     Bit 1is set whenever the UART times out a read operation (Bulletron disables this 
  17575.                       mode of operation).              
  17576.               
  17577.                     Bit 2is set whenever the device driver empties its transmit queue.  This does not mean 
  17578.                       that the driver is idle, however, because there may be other write requests in the 
  17579.                       driver's work queue.              
  17580.               
  17581.                     Bit 3is set whenever the state of the CTS signal from the modem changes.              
  17582.               
  17583.                     Bit 4is set whenever the state of the DSR signal from the modem changes.              
  17584.               
  17585.                     Bit 5is set whenever the state of the DCD signal from the modem changes.              
  17586.               
  17587.                     Bit 6is set whenever a line break is received.              
  17588.               
  17589.                     Bit 7is set whenever an error bit is set in the device driver COM Error word (see 
  17590.                       above).              
  17591.               
  17592.                     Bit 8is set whenever the trailing edge of a ring signal occurs.              
  17593.               
  17594.                     Bits 9 through 15 are undefined.              
  17595.               
  17596.                    D.4.OS/2 System Error Codes
  17597.               
  17598.                  The following shows the numerical value of an error, its symbolic name, and a brief description 
  17599.                  of the error.
  17600.               
  17601.                  0   NO_ERROR   No error occurred.
  17602.               
  17603.                  1   ERROR_INVALID_FUNCTION    Invalid function number.
  17604.               
  17605.                  2   ERROR_FILE_NOT_FOUND File not found.
  17606.               
  17607.                  3   ERROR_PATH_NOT_FOUND Path not found.
  17608.               
  17609.                  4   ERROR_TOO_MANY_OPEN_FILES Too many open files (no handles left).
  17610.               
  17611.                  5   ERROR_ACCESS_DENIED  Access denied.
  17612.               
  17613.                  6   ERROR_INVALID_HANDLE      Invalid handle.
  17614.               
  17615.                  7   ERROR_ARENA_TRASHED  Memory control blocks destroyed.
  17616.               
  17617.                  8   ERROR_NOT_ENOUGH_MEMORY   Insufficient memory.
  17618.               
  17619.                  9   ERROR_INVALID_BLOCK  Invalid memory-block address.
  17620.               
  17621.                  10   ERROR_BAD_ENVIRONMENT    Invalid environment.
  17622.               
  17623.                  11   ERROR_BAD_FORMAT    Invalid format.
  17624.               
  17625.                  12   ERROR_INVALID_ACCESS     Invalid access code.
  17626.               
  17627.                  13   ERROR_INVALID_DATA  Invalid data.
  17628.               
  17629.                  14   Reserved.
  17630.               
  17631.                  15   ERROR_INVALID_DRIVE Invalid drive specified.
  17632.               
  17633.                  16   ERROR_CURRENT_DIRECTORY  Attempting to remove current directory.
  17634.  
  17635.               
  17636.  
  17637.  
  17638.  
  17639.  
  17640.  
  17641.               
  17642.                  17   ERROR_NOT_SAME_DEVICE    Not same device.
  17643.               
  17644.                  18   ERROR_NO_MORE_FILES No more files.
  17645.               
  17646.                  19   ERROR_WRITE_PROTECT Attempt to write on write-protected diskette.
  17647.               
  17648.                  20   ERROR_BAD_UNIT Unknown unit.
  17649.               
  17650.                  21   ERROR_NOT_READY     Drive not ready.
  17651.               
  17652.                  22   ERROR_BAD_COMMAND   Unknown command.
  17653.               
  17654.                  23   ERROR_CRC Data error - cyclic redundancy check.
  17655.               
  17656.                  24   ERROR_BAD_LENGTH    Invalid request structure length.
  17657.               
  17658.                  25   ERROR_SEEK     Seek error.
  17659.               
  17660.                  26   ERROR_NOT_DOS_DISK  Unknown media type.
  17661.               
  17662.                  27   ERROR_SECTOR_NOT_FOUND   Sector not found.
  17663.               
  17664.                  28   ERROR_OUT_OF_PAPER  Printer is out of paper.
  17665.               
  17666.                  29   ERROR_WRITE FAULT   Write fault.
  17667.               
  17668.                  30   ERROR_READ_FAULT    Read fault.
  17669.               
  17670.                  31   ERROR_GEN_FAILURE   General failure.
  17671.               
  17672.                  32   ERROR_SHARING_VIOLATION  Sharing violation.
  17673.               
  17674.                  33   ERROR_LOCK_VIOLATION     Lock violation.
  17675.               
  17676.                  34   ERROR_WRONG_DISK    Invalid disk change.
  17677.               
  17678.                  35   ERROR_FCB_UNAVAILABLE    FCB unavailable.
  17679.               
  17680.                  36   ERROR_SHARING_BUFFER_EXCEEDED Sharing buffer overflow.
  17681.               
  17682.                  37   ERROR_CODE_PAGE_MISMATCHED    Code page does not match.
  17683.               
  17684.                  38   ERROR_HANDLE_EOF    End of file reached.
  17685.               
  17686.                  39   ERROR_HANDLE_DISK_FULL   Disk is full.
  17687.               
  17688.                  40-49   Reserved.
  17689.               
  17690.                  50   ERROR_NOT_SUPPORTED Network request not supported. 
  17691.               
  17692.                  51   ERROR_REM_NOT_LIST  Remote network node is not online.
  17693.               
  17694.                  52   ERROR_DUP_NAME Duplicate file name in network.
  17695.               
  17696.                  53   ERROR_BAD_NETPATH   Network path not found.
  17697.               
  17698.                  54   ERROR_NETWORK_BUSY  Network is busy.
  17699.               
  17700.                  55   ERROR_DEV_NOT_EXIST Device is not installed in network.
  17701.               
  17702.                  56   ERROR_TOO_MANY_CMDS Network command limit reached.
  17703.               
  17704.                  57   ERROR_ADAP_HDW_ERR  Network adapter hardware error. 
  17705.               
  17706.                  58   ERROR_BAD_NET_RESP  Incorrect response in network.
  17707.  
  17708.               
  17709.  
  17710.  
  17711.  
  17712.  
  17713.  
  17714.               
  17715.                  59   ERROR_UNEXP_NET_ERR Unexpected error in network.
  17716.               
  17717.                  60   ERROR_BAD_REM_ADAP  Remote network adapter error.
  17718.               
  17719.                  61   ERROR_PRINTQ_FULL   Network printer queue is full.
  17720.               
  17721.                  62   ERROR_NO_SPOOL_SPACE     No space in print spool file.
  17722.               
  17723.                  63   ERROR_PRINT_CANCELLED    Print spool file deleted.
  17724.               
  17725.                  64   ERROR_NETNAME_DELETED    Network name deleted.
  17726.               
  17727.                  65   ERROR_NETWORK_ACCESS_DENIED   Access to network denied.
  17728.               
  17729.                  66   ERROR_BAD_DEV_TYPE  Device type invalid for network.
  17730.               
  17731.                  67   ERROR_BAD_NET_NAME  Network name not found.
  17732.               
  17733.                  68   ERROR_TOO_MANY_NAMES     Network name limit exceeded.
  17734.               
  17735.                  69   ERROR_TOO_MANY_SESS Network session limit exceeded.
  17736.               
  17737.                  70   ERROR_SHARING_PAUSED     Temporary pause in network.
  17738.               
  17739.                  71   ERROR_REQ_NOT_ACCEP Network request denied.
  17740.               
  17741.                  72   ERROR_REDIR_PAUSED  Pause in network print disk redirection.
  17742.               
  17743.                  73   ERROR_SBCS_ATT_WRITE_PROT     Attempted write on protected disk.
  17744.               
  17745.                  74   ERROR_SBCS_GENERAL_FAILURE    General failure, single-byte character set.
  17746.               
  17747.                  75-79   Reserved.
  17748.               
  17749.                  80   ERROR_FILE_EXISTS   File exists.
  17750.               
  17751.                  81   ERROR_DUP_FCB  Reserved.
  17752.               
  17753.                  82   ERROR_CANNOT_MAKE   Cannot make directory entry.
  17754.               
  17755.                  83   ERROR_FAIL_I24 Failure on INT 24.
  17756.               
  17757.                  84   ERROR_OUT_OF_STRUCTURES  Too many redirections.
  17758.               
  17759.                  85   ERROR_ALREADY_ASSIGNED   Duplicate redirection.
  17760.               
  17761.                  86   ERROR_INVALID_PASSWORD   Invalid password.
  17762.               
  17763.                  87   ERROR_INVALID_PARAMETER  Invalid parameter.
  17764.               
  17765.                  88   ERROR_NET_WRITE_FAULT    Network device fault.
  17766.               
  17767.                  89   ERROR_NO_PROC_SLOTS No process slots available.
  17768.               
  17769.                  90   ERROR_NOT_FROZEN    System error.
  17770.               
  17771.                  91   ERR_TSTOVFL    Timer service table overflow.
  17772.               
  17773.                  92   ERR_TSTDUP     Timer service table duplicate.
  17774.               
  17775.                  93   ERROR_NO_ITEMS No items to work on.
  17776.               
  17777.                  95   ERROR_INTERRUPT     Interrupted system call.
  17778.               
  17779.                  99   ERROR_DEVICE_IN_USE Device in use.
  17780.  
  17781.               
  17782.  
  17783.  
  17784.  
  17785.  
  17786.  
  17787.               
  17788.                  100   ERROR_TOO_MANY_SEMAPHORES    User/system open semaphore limit reached.
  17789.               
  17790.                  101   ERROR_EXCL_SEM_ALREADY_OWNED Exclusive semaphore already owned.
  17791.               
  17792.                  102   ERROR_SEM_IS_SET   DosCloseSem found semaphore set.
  17793.               
  17794.                  103   ERROR_TOO_MANY_SEM_REQUESTS  Too many exclusive semaphore 
  17795.                  requests.
  17796.               
  17797.                  104   ERROR_INVALID_AT_INTERRUPT_TIME   Operation invalid at interrupt time.
  17798.               
  17799.                  105   ERROR_SEM_OWNER_DIED    Previous semaphore owner terminated without freeing 
  17800.                  semaphore.
  17801.               
  17802.                  106   ERROR_SEM_USER_LIMIT    Semaphore limit exceeded.
  17803.               
  17804.                  107   ERROR_DISK_CHANGE  Insert drive B disk into drive A.
  17805.               
  17806.                  108   ERROR_DRIVE_LOCKED Drive locked by another process.
  17807.               
  17808.                  109   ERROR_BROKEN_PIPE  Write on pipe with no reader.
  17809.               
  17810.                  110   ERROR_OPEN_FAILED  Open/create failed due to explicit fail command.
  17811.               
  17812.                  111   ERROR_BUFFER_OVERFLOW   Buffer passed to system call too small to hold 
  17813.                  return data.
  17814.               
  17815.                  112   ERROR_DISK_FULL    Not enough space on the disk.
  17816.               
  17817.                  113   ERROR_NO_MORE_SEARCH_HANDLES Cannot allocate another search 
  17818.                  structure and handle.
  17819.               
  17820.                  114   ERROR_INVALID_TARGET_HANDLE  Target handle in DosDupHandle invalid.
  17821.               
  17822.                  115   ERROR_PROTECTION_VIOLATION   Invalid user virtual address.
  17823.               
  17824.                  116   ERROR_VIOKBD_REQUEST    Error on display write or keyboard read.
  17825.               
  17826.                  117   ERROR_INVALID_CATEGORY  Category for DevIOCtl not defined.
  17827.               
  17828.                  118   ERROR_INVALID_VERIFY_SWITCH  Invalid value passed for verify flag.
  17829.               
  17830.                  119   ERROR_BAD_DRIVER_LEVEL  Level four driver not found.
  17831.               
  17832.                  120   ERROR_CALL_NOT_IMPLEMENTED   Invalid function called.
  17833.               
  17834.                  121   ERROR_SEM_TIMEOUT  Time-out occurred from semaphore API function.
  17835.               
  17836.                  122   ERROR_INSUFFICIENT_BUFFER    Data buffer too small.
  17837.               
  17838.                  123   ERROR_INVALID_NAME      Illegal character or invalid file-system name.
  17839.               
  17840.                  124   ERROR_INVALID_LEVEL     Non-implemented level for information retrieval or 
  17841.                  setting.
  17842.               
  17843.                  125   ERROR_NO_VOLUME_LABEL   No volume label found with DosQueryFSInfo 
  17844.                  function.
  17845.               
  17846.                  126   ERROR_MOD_NOT_FOUND     Module handle not found with DosQueryProcAddr(), 
  17847.                  DosQueryModAddr().
  17848.               
  17849.                  127   ERROR_PROC_NOT_FOUND    Procedure address not found with DosQueryProcAddr().
  17850.               
  17851.                  128   ERROR_WAIT_NO_CHILDREN  DosWaitChild finds no children.
  17852.               
  17853.  
  17854.               
  17855.  
  17856.  
  17857.  
  17858.  
  17859.  
  17860.                  129   ERROR_CHILD_NOT_COMPLETE     DosWaitChild children not terminated.
  17861.               
  17862.                  130   ERROR_DIRECT_ACCESS_HANDLE   Handle operation invalid for direct disk-access 
  17863.                  handles.
  17864.               
  17865.                  131   ERROR_NEGATIVE_SEEK     Attempting seek to negative offset.
  17866.               
  17867.                  132   ERROR_SEEK_ON_DEVICE    Application trying to seek on device or pipe.
  17868.               
  17869.                  133   ERROR_IS_JOIN_TARGET    Drive has previously joined drives.
  17870.               
  17871.                  134   ERROR_IS_JOINED    Drive is already joined.
  17872.               
  17873.                  135   ERROR_IS_SUBSTED   Drive is already substituted.
  17874.               
  17875.                  136   ERROR_NOT_JOINED   Cannot delete drive that is not joined.
  17876.               
  17877.                  137   ERROR_NOT_SUBSTED  Cannot delete drive that is not substituted.
  17878.               
  17879.                  138   ERROR_JOIN_TO_JOIN Cannot join to a joined drive.
  17880.               
  17881.                  139   ERROR_SUBST_TO_SUBST    Cannot substitute to a substituted drive.
  17882.               
  17883.                  140   ERROR_JOIN_TO_SUBST     Cannot join to a substituted drive.
  17884.               
  17885.                  141   ERROR_SUBST_TO_JOIN     Cannot substitute to a joined drive.
  17886.               
  17887.                  142   ERROR_BUSY_DRIVE   Specified drive is busy.
  17888.               
  17889.                  143   ERROR_SAME_DRIVE   Cannot join or substitute a drive to a directory on the 
  17890.                  same drive.
  17891.               
  17892.                  144   ERROR_DIR_NOT_ROOT Directory must be a subdistrict of the root.
  17893.               
  17894.                  145   ERROR_DIR_NOT_EMPTY     Directory must be empty to use join command.
  17895.               
  17896.                  146   ERROR_IS_SUBST_PATH     Path specified is being used in a substitute.
  17897.               
  17898.                  147   ERROR_IS_JOIN_PATH Path specified is being used in a join.
  17899.               
  17900.                  148   ERROR_PATH_BUSY    Path specified is being used by another process.
  17901.               
  17902.                  149   ERROR_IS_SUBST_TARGET   Cannot join or substitute a drive that has a directory that 
  17903.                  is the target of a previous substitute.
  17904.               
  17905.                  150   ERROR_SYSTEM_TRACE System trace error.
  17906.               
  17907.                  151   ERROR_INVALID_EVENT_COUNT    DosWaitMuxWaitSem errors.
  17908.               
  17909.                  152   ERROR_TOO_MANY_MUXWAITERS    System limit of 100 entries reached.
  17910.               
  17911.                  153   ERROR_INVALID_LIST_FORMAT    Invalid list format.
  17912.               
  17913.                  154   ERROR_LABEL_TOO_LONG    Volume label too big.
  17914.               
  17915.                  155   ERROR_TOO_MANY_TCBS     Cannot create another TCB.
  17916.               
  17917.                  156   ERROR_SIGNAL_REFUSED    Signal refused.
  17918.               
  17919.                  157   ERROR_DISCARDED    Segment is discarded.
  17920.               
  17921.                  158   ERROR_NOT_LOCKED   Segment is not locked.
  17922.               
  17923.                  159   ERROR_BAD_THREADID_ADDR Invalid thread-identity address.
  17924.               
  17925.                  160   ERROR_BAD_ARGUMENTS     Invalid environment pointer.
  17926.  
  17927.               
  17928.  
  17929.  
  17930.  
  17931.  
  17932.  
  17933.               
  17934.                  161   ERROR_BAD_PATHNAME Invalid path name passed to exec.
  17935.               
  17936.                  162   ERROR_SIGNAL_PENDING    Signal already pending.
  17937.               
  17938.                  163   ERROR_UNCERTAIN_MEDIA   Error with INT 24 mapping.
  17939.               
  17940.                  164   ERROR_MAX_THRDS_REACHED No more process slots.
  17941.               
  17942.                  165   ERROR_MONITORS_NOT_SUPPORTED Error with INT 24 mapping.
  17943.               
  17944.                  166   ERROR_UNC_DRIVER_NOT_INSTALLED    Default redirection return code.
  17945.               
  17946.                  167   ERROR_LOCK_FAILED  Locking failed.
  17947.               
  17948.                  168   ERROR_SWAPIO_FAILED     Swap I/O failed.
  17949.               
  17950.                  169   ERROR_SWAPIN_FAILED     Swap in failed.
  17951.               
  17952.                  170   ERROR_BUSY    Segment is busy.
  17953.               
  17954.                  171-172   Reserved.
  17955.               
  17956.                  173   ERROR_CANCEL_VIOLATION  A lock request is not outstanding for the 
  17957.                  specified file range, or the range length is zero.
  17958.               
  17959.                  174   ERROR_ATOMIC_LOCK_NOT_SUPPORTED   The file-system driver (FSD) does not 
  17960.                  support atomic lock operations.  Versions of OS/2* prior to version 2.00 do not support atomic lock 
  17961.                  operations.
  17962.               
  17963.                  175   ERROR_READ_LOCKS_NOT_SUPPORTED    The file system driver (FSD) does not 
  17964.                  support shared read locks.
  17965.               
  17966.                  176-179   Reserved.
  17967.               
  17968.                  180   ERROR_INVALID_SEGMENT_NUMBER Invalid segment number.
  17969.               
  17970.                  181   ERROR_INVALID_CALLGATE  Invalid call gate.
  17971.               
  17972.                  182   ERROR_INVALID_ORDINAL   Invalid ordinal.
  17973.               
  17974.                  183   ERROR_ALREADY_EXISTS    Shared segment already exists.
  17975.               
  17976.                  184   ERROR_NO_CHILD_PROCESS  No child process to wait for.
  17977.               
  17978.                  185   ERROR_CHILD_ALIVE_NOWAIT     NoWait specified and child alive.
  17979.               
  17980.                  186   ERROR_INVALID_FLAG_NUMBER    Invalid flag number. 
  17981.               
  17982.                  187   ERROR_SEM_NOT_FOUND     Semaphore does not exist.
  17983.               
  17984.                  188   ERROR_INVALID_STARTING_CODESEG    Invalid starting code segment, incorrect 
  17985.                  END (label) directive.
  17986.               
  17987.                  189   ERROR_INVALID_STACKSEG  Invalid stack segment.
  17988.               
  17989.                  190   ERROR_INVALID_MODULETYPE     Invalid module type - dynamic-link library file 
  17990.                  cannot be used as an application. Application cannot be used as a dynamic-link library.
  17991.               
  17992.                  191   ERROR_INVALID_EXE_SIGNATURE  Invalid EXE signature - file is a DOS mode 
  17993.                  program or an improper program.
  17994.               
  17995.                  192   ERROR_EXE_MARKED_INVALID     EXE marked invalid - link detected errors when 
  17996.                  the application was created.
  17997.               
  17998.                  193   ERROR_BAD_EXE_FORMAT    Invalid EXE format - file is a DOS mode program or an 
  17999.  
  18000.               
  18001.  
  18002.  
  18003.  
  18004.  
  18005.  
  18006.                  improper program.
  18007.               
  18008.                  194   ERROR_ITERATED_DATA_EXCEEDS_64k   Iterated data exceeds 64KB - there is 
  18009.                  more than 64KB of data in one of the segments of the file.
  18010.               
  18011.                  195   ERROR_INVALID_MINALLOCSIZE   Invalid minimum allocation size - the size is 
  18012.                  specified to be less than the size of the segment data in the file.
  18013.               
  18014.                  196   ERROR_DYNLINK_FROM_INVALID_RING   Dynamic link from invalid privilege 
  18015.                  level - privilege level 2 routine cannot link to dynamic-link libraries.
  18016.               
  18017.                  197   ERROR_IOPL_NOT_ENABLED  IOPL not enabled - IOPL set to NO in 
  18018.                  CONFIG.SYS.
  18019.               
  18020.                  198   ERROR_INVALID_SEGDPL    Invalid segment descripton privilege level - can only have 
  18021.                  privilege levels of 2 and 3.
  18022.               
  18023.                  199   ERROR_AUTODATASEG_EXCEEDS_64k Automatic data segment exceeds 64KB.
  18024.               
  18025.                  200   ERROR_RING2SEG_MUST_BE_MOVABLE    Privilege level 2 segment must be 
  18026.                  movable.
  18027.               
  18028.                  201   ERROR_RELOC_CHAIN_XEEDS_SEGLIM    Relocation chain exceeds segment 
  18029.                  limit.
  18030.               
  18031.                  202   ERROR_INFLOOP_IN_RELOC_CHAIN Infinite loop in relocation chain segment.
  18032.               
  18033.                  203   ERROR_ENVVAR_NOT_FOUND  Environment variable not found.
  18034.               
  18035.                  204   ERROR_NOT_CURRENT_CTRY  Not current country.
  18036.               
  18037.                  205   ERROR_NO_SIGNAL_SENT    No signal sent - no process in the command subtree has a 
  18038.                  signal handler.
  18039.               
  18040.                  206   ERROR_FILENAME_EXCED_RANGE   File name or extension is greater than 8.3 
  18041.                  characters.
  18042.               
  18043.                  207   ERROR_RING2_STACK_IN_USE     Privilege level 2 stack is in use.
  18044.               
  18045.                  208   ERROR_META_EXPANSION_TOO_LONG     Meta (global) expansion is too long.
  18046.               
  18047.                  209   ERROR_INVALID_SIGNAL_NUMBER  Invalid signal number.
  18048.               
  18049.                  210   ERROR_THREAD_1_INACTIVE Inactive thread.
  18050.               
  18051.                  211   ERROR_INFO_NOT_AVAIL    File system information is not available for this file.
  18052.               
  18053.                  212   ERROR_LOCKED  Locked error.
  18054.               
  18055.                  213   ERROR_BAD_DYNALINK Attempted to execute a non-family API in DOS mode.
  18056.               
  18057.                  214   ERROR_TOO_MANY_MODULES  Too many modules.
  18058.               
  18059.                  215   ERROR_NESTING_NOT_ALLOWED    Nesting is not allowed.
  18060.               
  18061.                  217   ERROR_ZOMBIE_PROCESS    Zombie process.
  18062.               
  18063.                  218   ERROR_STACK_IN_HIGH_MEMORY   Stack is in high memory.
  18064.               
  18065.                  219   ERROR_INVALID_EXITROUTINE_RING    Invalid exit routine ring.
  18066.               
  18067.                  220   ERROR_GETBUF_FAILED     Get buffer failed.
  18068.               
  18069.                  221   ERROR_FLUSHBUF_FAILED   Flush buffer failed.
  18070.               
  18071.                  222   ERROR_TRANSFER_TOO_LONG Transfer is too long.
  18072.  
  18073.               
  18074.  
  18075.  
  18076.  
  18077.  
  18078.  
  18079.               
  18080.                  224   ERROR_SMG_NO_TARGET_WINDOW   The application window was created 
  18081.                  without the FCF_TASKLIST style, or the application window not yet been created or has already been 
  18082.                  destroyed.
  18083.               
  18084.                  228   ERROR_NO_CHILDREN  No child process.
  18085.               
  18086.                  229   ERROR_INVALID_SCREEN_GROUP   Invalid session.
  18087.               
  18088.                  230   ERROR_BAD_PIPE     Non-existent pipe or invalid operation.
  18089.               
  18090.                  231   ERROR_PIPE_BUSY    Pipe is busy.
  18091.               
  18092.                  232   ERROR_NO_DATA No data available on non-blocking read.
  18093.               
  18094.                  233   ERROR_PIPE_NOT_CONNECTED     Pipe was disconnected by server.
  18095.               
  18096.                  234   ERROR_MORE_DATA    More data is available.
  18097.               
  18098.                  240   ERROR_VC_DISCONNECTED   Session was dropped due to errors.
  18099.               
  18100.                  250   ERROR_CIRCULARITY_REQUESTED  Renaming a directory that would cause a 
  18101.                  circularity problem.
  18102.               
  18103.                  251   ERROR_DIRECTORY_IN_CDS  Renaming a directory that is in use.
  18104.               
  18105.                  252   ERROR_INVALID_FSD_NAME  Trying to access nonexistent FSD.
  18106.               
  18107.                  253   ERROR_INVALID_PATH Invalid pseudo device.
  18108.               
  18109.                  254   ERROR_INVALID_EA_NAME   Invalid character in name, or invalid cbName.
  18110.               
  18111.                  255   ERROR_EA_LIST_INCONSISTENT   List does not match its size, or there are invalid 
  18112.                  EAs in the list.
  18113.               
  18114.                  256   ERROR_EA_LIST_TOO_LONG  FEAList is longer than 64K-1 bytes.
  18115.               
  18116.                  257   ERROR_NO_META_MATCH     String does not match expression.
  18117.               
  18118.                  259   ERROR_NO_MORE_ITEMS     DosQueryFSAttach ordinal query.
  18119.               
  18120.                  260   ERROR_SEARCH_STRUC_REUSED    DOS mode findfirst/next search structure reused.
  18121.               
  18122.                  261   ERROR_CHAR_NOT_FOUND    Character not found.
  18123.               
  18124.                  262   ERROR_TOO_MUCH_STACK    Stack request exceeds system limit.
  18125.               
  18126.                  263   ERROR_INVALID_ATTR Invalid attribute.
  18127.               
  18128.                  264   ERROR_INVALID_STARTING_RING  Invalid starting ring.
  18129.               
  18130.                  265   ERROR_INVALID_DLL_INIT_RING  Invalid DLL INIT ring.
  18131.               
  18132.                  266   ERROR_CANNOT_COPY  Cannot copy.
  18133.               
  18134.                  267   ERROR_DIRECTORY    Used by DOSCOPY in doscall1.
  18135.               
  18136.                  268   ERROR_OPLOCKED_FILE     Oplocked file.
  18137.               
  18138.                  269   ERROR_OPLOCK_THREAD_EXISTS   Oplock thread exists.
  18139.               
  18140.                  270   ERROR_VOLUME_CHANGED    Volume changed.
  18141.               
  18142.                  271-273   Reserved.
  18143.               
  18144.                  274   ERROR_ALREADY_SHUTDOWN  System is already shut down.
  18145.  
  18146.               
  18147.  
  18148.  
  18149.  
  18150.  
  18151.  
  18152.               
  18153.                  275   ERROR_EAS_DIDNT_FIT     Buffer is not big enough to hold the EAs.
  18154.               
  18155.                  276   ERROR_EA_FILE_CORRUPT   EA file has been damaged.
  18156.               
  18157.                  277   ERROR_EA_TABLE_FULL     EA table is full.
  18158.               
  18159.                  278   ERROR_INVALID_EA_HANDLE EA handle is invalid.
  18160.               
  18161.                  279   ERROR_NO_CLUSTER   No cluster.
  18162.               
  18163.                  280   ERROR_CREATE_EA_FILE    Cannot create the EA file.
  18164.               
  18165.                  281   ERROR_CANNOT_OPEN_EA_FILE    Cannot open the EA file.
  18166.               
  18167.                  282   ERROR_EAS_NOT_SUPPORTED Destination file system does not support EAs.
  18168.               
  18169.                  283   ERROR_NEED_EAS_FOUND    Destination file system does not support EAs, and the 
  18170.                  source file's EAs contain a need EA.
  18171.               
  18172.                  284   ERROR_DUPLICATE_HANDLE  The handle already exists.
  18173.               
  18174.                  285   ERROR_DUPLICATE_NAME    The name already exists.
  18175.               
  18176.                  286   ERROR_EMPTY_MUXWAIT     The list of semaphores in a muxwait semaphore is empty.
  18177.               
  18178.                  287   ERROR_MUTEX_OWNED  The calling thread owns one or more of the mutex 
  18179.                  semaphores in the list.
  18180.               
  18181.                  288   ERROR_NOT_OWNER    Caller does not own the semaphore.
  18182.               
  18183.                  289   ERROR_PARAM_TOO_SMALL   Parameter is not large enough to contain all of 
  18184.                  the semaphore records in the muxwait semaphore.
  18185.               
  18186.                  290   ERROR_TOO_MANY_HANDLES  Limit reached for number of handles.
  18187.               
  18188.                  291   ERROR_TOO_MANY_OPENS    There are too many files or semaphores open.
  18189.               
  18190.                  292   ERROR_WRONG_TYPE   Attempted to create wrong type of semaphore.
  18191.               
  18192.                  293   ERROR_UNUSED_CODE  Code is not used.
  18193.               
  18194.                  294   ERROR_THREAD_NOT_TERMINATED  Thread has not terminated.
  18195.               
  18196.                  295   ERROR_INIT_ROUTINE_FAILED    Initialization routine failed.
  18197.               
  18198.                  296   ERROR_MODULE_IN_USE     Module is in use.
  18199.               
  18200.                  297   ERROR_NOT_ENOUGH_WATCHPOINTS There are not enough watchpoints.
  18201.               
  18202.                  298   ERROR_TOO_MANY_POSTS    Post count limit was reached for an event semaphore.
  18203.               
  18204.                  299   ERROR_ALREADY_POSTED    Event semaphore is already posted.
  18205.               
  18206.                  300   ERROR_ALREADY_RESET     Event semaphore is already reset.
  18207.               
  18208.                  301   ERROR_SEM_BUSY     Semaphore is busy.
  18209.               
  18210.                  302   Reserved
  18211.               
  18212.                  303   ERROR_INVALID_PROCID    Invalid process identity.
  18213.               
  18214.                  304   ERROR_INVALID_PDELTA    Invalid priority delta.
  18215.               
  18216.                  305   ERROR_NOT_DESCENDANT    Not descendant.
  18217.               
  18218.  
  18219.               
  18220.  
  18221.  
  18222.  
  18223.  
  18224.  
  18225.                  306   ERROR_NOT_SESSION_MANAGER    Requestor not session manager.
  18226.               
  18227.                  307   ERROR_INVALID_PCLASS    Invalid P class.
  18228.               
  18229.                  308   ERROR_INVALID_SCOPE     Invalid scope.
  18230.               
  18231.                  309   ERROR_INVALID_THREADID  Invalid thread identity.
  18232.               
  18233.                  310   ERROR_DOSSUB_SHRINK     Cannot shrink segment - DosSubSetMem.
  18234.               
  18235.                  311   ERROR_DOSSUB_NOMEM No memory to satisfy request - DosSubAllocMem.
  18236.               
  18237.                  312   ERROR_DOSSUB_OVERLAP    Overlap of the specified block with a block of allocated 
  18238.                  memory - DosSubFreeMem.
  18239.               
  18240.                  313   ERROR_DOSSUB_BADSIZE    Invalid size parameter - DosSubAllocMem or 
  18241.                  DosSubFreeMem.
  18242.               
  18243.                  314   ERROR_DOSSUB_BADFLAG    Invalid flag parameter - DosSubSetMem.
  18244.               
  18245.                  315   ERROR_DOSSUB_BADSELECTOR     Invalid segment selector.
  18246.               
  18247.                  316   ERROR_MR_MSG_TOO_LONG   Message too long for buffer.
  18248.               
  18249.                  317   ERROR_MR_MID_NOT_FOUND  Message identity number not found.
  18250.               
  18251.                  318   ERROR_MR_UN_ACC_MSGF    Unable to access message file.
  18252.               
  18253.                  319   ERROR_MR_INV_MSGF_FORMAT     Invalid message file format.
  18254.               
  18255.                  320   ERROR_MR_INV_IVCOUNT    Invalid insertion variable count. 
  18256.               
  18257.                  321   ERROR_MR_UN_PERFORM     Unable to perform function.
  18258.               
  18259.                  322   ERROR_TS_WAKEUP    Unable to wake up.
  18260.               
  18261.                  323   ERROR_TS_SEMHANDLE Invalid system semaphore.
  18262.               
  18263.                  324   ERROR_TS_NOTIMER   No timers available.
  18264.               
  18265.                  326   ERROR_TS_HANDLE    Invalid timer handle.
  18266.               
  18267.                  327   ERROR_TS_DATETIME  Date or time invalid.
  18268.               
  18269.                  328   ERROR_SYS_INTERNAL Internal system error.
  18270.               
  18271.                  329   ERROR_QUE_CURRENT_NAME  Current queue name does not exist.
  18272.               
  18273.                  330   ERROR_QUE_PROC_NOT_OWNED     Current process does not own queue.
  18274.               
  18275.                  331   ERROR_QUE_PROC_OWNED    Current process owns queue.
  18276.               
  18277.                  332   ERROR_QUE_DUPLICATE     Duplicate queue name.
  18278.               
  18279.                  333   ERROR_QUE_ELEMENT_NOT_EXIST  Queue element does not exist.
  18280.               
  18281.                  334   ERROR_QUE_NO_MEMORY     Inadequate queue memory.
  18282.               
  18283.                  335   ERROR_QUE_INVALID_NAME  Invalid queue name.
  18284.               
  18285.                  336   ERROR_QUE_INVALID_PRIORITY   Invalid queue priority parameter.
  18286.               
  18287.                  337   ERROR_QUE_INVALID_HANDLE     Invalid queue handle.
  18288.               
  18289.                  338   ERROR_QUE_LINK_NOT_FOUND     Queue link not found.
  18290.               
  18291.  
  18292.               
  18293.  
  18294.  
  18295.  
  18296.  
  18297.  
  18298.                  339   ERROR_QUE_MEMORY_ERROR  Queue memory error.
  18299.               
  18300.                  340   ERROR_QUE_PREV_AT_END   Previous queue element was at end of queue.
  18301.               
  18302.                  341   ERROR_QUE_PROC_NO_ACCESS     Process does not have access to queues.
  18303.               
  18304.                  342   ERROR_QUE_EMPTY    Queue is empty.
  18305.               
  18306.                  343   ERROR_QUE_NAME_NOT_EXIST     Queue name does not exist.
  18307.               
  18308.                  344   ERROR_QUE_NOT_INITIALIZED    Queues not initialized.
  18309.               
  18310.                  345   ERROR_QUE_UNABLE_TO_ACCESS   Unable to access queues.
  18311.               
  18312.                  346   ERROR_QUE_UNABLE_TO_ADD Unable to add new queue.
  18313.               
  18314.                  347   ERROR_QUE_UNABLE_TO_INIT     Unable to initialize queues.
  18315.               
  18316.                  349   ERROR_VIO_INVALID_MASK  Invalid function replaced.
  18317.               
  18318.                  350   ERROR_VIO_PTR Invalid pointer to parameter.
  18319.               
  18320.                  351   ERROR_VIO_APTR     Invalid pointer to attribute.
  18321.               
  18322.                  352   ERROR_VIO_RPTR     Invalid pointer to row.
  18323.               
  18324.                  353   ERROR_VIO_CPTR     Invalid pointer to column.
  18325.               
  18326.                  354   ERROR_VIO_LPTR     Invalid pointer to length.
  18327.               
  18328.                  355   ERROR_VIO_MODE     Unsupported screen mode.
  18329.               
  18330.                  356   ERROR_VIO_WIDTH    Invalid cursor width value.
  18331.               
  18332.                  357   ERROR_VIO_ATTR     Invalid cursor attribute value.
  18333.               
  18334.                  358   ERROR_VIO_ROW Invalid row value.
  18335.               
  18336.                  359   ERROR_VIO_COL Invalid column value.
  18337.               
  18338.                  360   ERROR_VIO_TOPROW   Invalid TopRow value.
  18339.               
  18340.                  361   ERROR_VIO_BOTROW   Invalid BotRow value.
  18341.               
  18342.                  362   ERROR_VIO_RIGHTCOL Invalid right column value.
  18343.               
  18344.                  363   ERROR_VIO_LEFTCOL  Invalid left column value.
  18345.               
  18346.                  364   ERROR_SCS_CALL     Call issued by other than session manager. 
  18347.               
  18348.                  365   ERROR_SCS_VALUE    Value is not for save or restore.
  18349.               
  18350.                  366   ERROR_VIO_WAIT_FLAG     Invalid wait flag setting.
  18351.               
  18352.                  367   ERROR_VIO_UNLOCK   Screen not previously locked.
  18353.               
  18354.                  368   ERROR_SGS_NOT_SESSION_MGR    Caller not session manager.
  18355.               
  18356.                  369   ERROR_SMG_INVALID_SGID  Invalid session identity.
  18357.               
  18358.                  369   ERROR_SMG_INVALID_SESSION_ID Invalid session ID.
  18359.               
  18360.                  370   ERROR_SMG_NOSG     No sessions available.
  18361.               
  18362.                  370   ERROR_SMG_NO_SESSIONS   No sessions available.
  18363.               
  18364.  
  18365.               
  18366.  
  18367.  
  18368.  
  18369.  
  18370.  
  18371.                  371   ERROR_SMG_GRP_NOT_FOUND Session not found.
  18372.               
  18373.                  371   ERROR_SMG_SESSION_NOT_FOUND  Session not found.
  18374.               
  18375.                  372   ERROR_SMG_SET_TITLE     Title sent by shell or parent cannot be changed.
  18376.               
  18377.                  373   ERROR_KBD_PARAMETER     Invalid parameter to keyboard.
  18378.               
  18379.                  374   ERROR_KBD_NO_DEVICE     No device.
  18380.               
  18381.                  375   ERROR_KBD_INVALID_IOWAIT     Invalid I/O wait specified.
  18382.               
  18383.                  376   ERROR_KBD_INVALID_LENGTH     Invalid length for keyboard.
  18384.               
  18385.                  377   ERROR_KBD_INVALID_ECHO_MASK  Invalid echo mode mask.
  18386.               
  18387.                  378   ERROR_KBD_INVALID_INPUT_MASK Invalid input mode mask.
  18388.               
  18389.                  379   ERROR_MON_INVALID_PARMS Invalid parameters to DosMon. 
  18390.               
  18391.                  380   ERROR_MON_INVALID_DEVNAME    Invalid device name string.
  18392.               
  18393.                  381   ERROR_MON_INVALID_HANDLE     Invalid device handle.
  18394.               
  18395.                  382   ERROR_MON_BUFFER_TOO_SMALL   Buffer too small.
  18396.               
  18397.                  383   ERROR_MON_BUFFER_EMPTY  Buffer is empty.
  18398.               
  18399.                  384   ERROR_MON_DATA_TOO_LARGE     Data record is too large.
  18400.               
  18401.                  385   ERROR_MOUSE_NO_DEVICE   Mouse device closed (invalid device handle).
  18402.               
  18403.                  386   ERROR_MOUSE_INV_HANDLE  Mouse device closed (invalid device handle).
  18404.               
  18405.                  387   ERROR_MOUSE_INV_PARMS   Parameters invalid for display mode.
  18406.               
  18407.                  388   ERROR_MOUSE_CANT_RESET  Function assigned and cannot be reset.
  18408.               
  18409.                  389   ERROR_MOUSE_DISPLAY_PARMS    Parameters invalid for display mode.
  18410.               
  18411.                  390   ERROR_MOUSE_INV_MODULE  Module not valid.
  18412.               
  18413.                  391   ERROR_MOUSE_INV_ENTRY_PT     Entry point not valid.
  18414.               
  18415.                  392   ERROR_MOUSE_INV_MASK    Function mask invalid.
  18416.               
  18417.                  393   NO_ERROR_MOUSE_NO_DATA  No valid data.
  18418.               
  18419.                  394   NO_ERROR_MOUSE_PTR_DRAWN     Pointer drawn.
  18420.               
  18421.                  395   ERROR_INVALID_FREQUENCY Invalid frequency for beep.
  18422.               
  18423.                  396   ERROR_NLS_NO_COUNTRY_FILE    Cannot find COUNTRY.SYS file.
  18424.               
  18425.                  397   ERROR_NLS_OPEN_FAILED   Cannot open COUNTRY.SYS file.
  18426.               
  18427.                  398   ERROR_NLS_NO_CTRY_CODE  Country code not found.
  18428.               
  18429.                  398   ERROR_NO_COUNTRY_OR_CODEPAGE Country code not found.
  18430.               
  18431.                  399   ERROR_NLS_TABLE_TRUNCATED    Table returned information truncated, buffer is 
  18432.                  too small.
  18433.               
  18434.                  400   ERROR_NLS_BAD_TYPE Selected type does not exist.
  18435.               
  18436.                  401   ERROR_NLS_TYPE_NOT_FOUND     Selected type is not in file.
  18437.  
  18438.               
  18439.  
  18440.  
  18441.  
  18442.  
  18443.  
  18444.               
  18445.                  402   ERROR_VIO_SMG_ONLY Valid from session manager only.
  18446.               
  18447.                  403   ERROR_VIO_INVALID_ASCIIZ     Invalid ASCIIZ length.
  18448.               
  18449.                  404   ERROR_VIO_DEREGISTER    VioDeRegister not allowed.
  18450.               
  18451.                  405   ERROR_VIO_NO_POPUP Pop-up window not allocated.
  18452.               
  18453.                  406   ERROR_VIO_EXISTING_POPUP     Pop-up window on screen (NoWait).
  18454.               
  18455.                  407   ERROR_KBD_SMG_ONLY Valid from session manager only.
  18456.               
  18457.                  408   ERROR_KBD_INVALID_ASCIIZ     Invalid ASCIIZ length.
  18458.               
  18459.                  409   ERROR_KBD_INVALID_MASK  Invalid replacement mask.
  18460.               
  18461.                  410   ERROR_KBD_REGISTER KbdRegister not allowed.
  18462.               
  18463.                  411   ERROR_KBD_DEREGISTER    KbdDeRegister not allowed.
  18464.               
  18465.                  412   ERROR_MOUSE_SMG_ONLY    Valid from session manager only.
  18466.               
  18467.                  413   ERROR_MOUSE_INVALID_ASCIIZ   Invalid ASCIIZ length.
  18468.               
  18469.                  414   ERROR_MOUSE_INVALID_MASK     Invalid replacement mask.
  18470.               
  18471.                  415   ERROR_MOUSE_REGISTER    Mouse register not allowed.
  18472.               
  18473.                  416   ERROR_MOUSE_DEREGISTER  Mouse deregister not allowed.
  18474.               
  18475.                  417   ERROR_SMG_BAD_ACTION    Invalid action specified.
  18476.               
  18477.                  418   ERROR_SMG_INVALID_CALL  INIT called more than once, or invalid session 
  18478.                  identity.
  18479.               
  18480.                  419   ERROR_SCS_SG_NOTFOUND   New session number.
  18481.               
  18482.                  420   ERROR_SCS_NOT_SHELL     Caller is not shell.
  18483.               
  18484.                  421   ERROR_VIO_INVALID_PARMS Invalid parameters passed.
  18485.               
  18486.                  422   ERROR_VIO_FUNCTION_OWNED     Save/restore already owned.
  18487.               
  18488.                  423   ERROR_VIO_RETURN   Non-destruct return (undo).
  18489.               
  18490.                  424   ERROR_SCS_INVALID_FUNCTION   Caller invalid function.
  18491.               
  18492.                  425   ERROR_SCS_NOT_SESSION_MGR    Caller not session manager.
  18493.               
  18494.                  426   ERROR_VIO_REGISTER Vio register not allowed.
  18495.               
  18496.                  427   ERROR_VIO_NO_MODE_THREAD     No mode restore thread in SG.
  18497.               
  18498.                  428   ERROR_VIO_NO_SAVE_RESTORE_THD     No save/restore thread in SG.
  18499.               
  18500.                  429   ERROR_VIO_IN_BG    Function invalid in background.
  18501.               
  18502.                  430   ERROR_VIO_ILLEGAL_DURING_POPUP    Function not allowed during pop-up 
  18503.                  window.
  18504.               
  18505.                  431   ERROR_SMG_NOT_BASESHELL Caller is not the base shell.
  18506.               
  18507.                  432   ERROR_SMG_BAD_STATUSREQ Invalid status requested.
  18508.               
  18509.                  433   ERROR_QUE_INVALID_WAIT  NoWait parameter out of bounds.
  18510.  
  18511.               
  18512.  
  18513.  
  18514.  
  18515.  
  18516.  
  18517.               
  18518.                  434   ERROR_VIO_LOCK     Error returned from Scroll Lock.
  18519.               
  18520.                  435   ERROR_MOUSE_INVALID_IOWAIT   Invalid parameters for IOWait.
  18521.               
  18522.                  436   ERROR_VIO_INVALID_HANDLE     Invalid VIO handle.
  18523.               
  18524.                  437   ERROR_VIO_ILLEGAL_DURING_LOCK     Function not allowed during screen 
  18525.                  lock.
  18526.               
  18527.                  438   ERROR_VIO_INVALID_LENGTH     Invalid VIO length.
  18528.               
  18529.                  439   ERROR_KBD_INVALID_HANDLE     Invalid KBD handle.
  18530.               
  18531.                  440   ERROR_KBD_NO_MORE_HANDLE     Ran out of handles.
  18532.               
  18533.                  441   ERROR_KBD_CANNOT_CREATE_KCB  Unable to create kcb.
  18534.               
  18535.                  442   ERROR_KBD_CODEPAGE_LOAD_INCOMPL   Unsuccessful code-page load.
  18536.               
  18537.                  443   ERROR_KBD_INVALID_CODEPAGE_ID     Invalid code-page identity.
  18538.               
  18539.                  444   ERROR_KBD_NO_CODEPAGE_SUPPORT     No code page support.
  18540.               
  18541.                  445   ERROR_KBD_FOCUS_REQUIRED     Keyboard focus required.
  18542.               
  18543.                  446   ERROR_KBD_FOCUS_ALREADY_ACTIVE    Calling thread has an outstanding 
  18544.                  focus.
  18545.               
  18546.                  447   ERROR_KBD_KEYBOARD_BUSY Keyboard is busy.
  18547.               
  18548.                  448   ERROR_KBD_INVALID_CODEPAGE   Invalid code page.
  18549.               
  18550.                  449   ERROR_KBD_UNABLE_TO_FOCUS    Focus attempt failed.
  18551.               
  18552.                  450   ERROR_SMG_SESSION_NON_SELECT Session is not selectable.
  18553.               
  18554.                  451   ERROR_SMG_SESSION_NOT_FOREGRND    Parent/child session is not foreground.
  18555.               
  18556.                  452   ERROR_SMG_SESSION_NOT_PARENT Not parent of requested child.
  18557.               
  18558.                  453   ERROR_SMG_INVALID_START_MODE Invalid session start mode.
  18559.               
  18560.                  454   ERROR_SMG_INVALID_RELATED_OPT     Invalid session start related option.
  18561.               
  18562.                  455   ERROR_SMG_INVALID_BOND_OPTION     Invalid session bond option.
  18563.               
  18564.                  456   ERROR_SMG_INVALID_SELECT_OPT Invalid session select option.
  18565.               
  18566.                  457   ERROR_SMG_START_IN_BACKGROUND     Session started in background.
  18567.               
  18568.                  458   ERROR_SMG_INVALID_STOP_OPTION     Invalid session stop option.
  18569.               
  18570.                  459   ERROR_SMG_BAD_RESERVE   Reserved parameters are not zero.
  18571.               
  18572.                  460   ERROR_SMG_PROCESS_NOT_PARENT Session parent process already exists.
  18573.               
  18574.                  461   ERROR_SMG_INVALID_DATA_LENGTH     Invalid data length.
  18575.               
  18576.                  462   ERROR_SMG_NOT_BOUND     Parent is not bound.
  18577.               
  18578.                  463   ERROR_SMG_RETRY_SUB_ALLOC    Retry request block allocation.
  18579.               
  18580.                  464   ERROR_KBD_DETACHED This call is not allowed for a detached PID.
  18581.               
  18582.                  465   ERROR_VIO_DETACHED This call is not allowed for a detached PID.
  18583.  
  18584.               
  18585.  
  18586.  
  18587.  
  18588.  
  18589.  
  18590.               
  18591.                  466   ERROR_MOU_DETACHED This call is not allowed for a detached PID.
  18592.               
  18593.                  467   ERROR_VIO_FONT     No font is available to support the mode.
  18594.               
  18595.                  468   ERROR_VIO_USER_FONT     User font is active.
  18596.               
  18597.                  469   ERROR_VIO_BAD_CP   Invalid code page specified.
  18598.               
  18599.                  470   ERROR_VIO_NO_CP    System displays do not support code page.
  18600.               
  18601.                  471   ERROR_VIO_NA_CP    Current display does not support code page.
  18602.               
  18603.                  472   ERROR_INVALID_CODE_PAGE Invalid code page.
  18604.               
  18605.                  473   ERROR_CPLIST_TOO_SMALL  Code page list is too small.
  18606.               
  18607.                  474   ERROR_CP_NOT_MOVED Code page was not moved.
  18608.               
  18609.                  475   ERROR_MODE_SWITCH_INIT  Mode switch initialization error.
  18610.               
  18611.                  476   ERROR_CODE_PAGE_NOT_FOUND    Code page was not found.
  18612.               
  18613.                  477   ERROR_UNEXPECTED_SLOT_RETURNED    Internal error.
  18614.               
  18615.                  478   ERROR_SMG_INVALID_TRACE_OPTION    Invalid start session trace indicator.
  18616.               
  18617.                  479   ERROR_VIO_INTERNAL_RESOURCE  VIO internal resource error.
  18618.               
  18619.                  480   ERROR_VIO_SHELL_INIT    VIO shell initialization error.
  18620.               
  18621.                  481   ERROR_SMG_NO_HARD_ERRORS     No session manager hard errors.
  18622.               
  18623.                  482   ERROR_CP_SWITCH_INCOMPLETE   DosSetProcessCp is unable to set a KBD or VIO 
  18624.                  code page.
  18625.               
  18626.                  483   ERROR_VIO_TRANSPARENT_POPUP  Error during VIO pop-up window.
  18627.               
  18628.                  484   ERROR_CRITSEC_OVERFLOW  Critical section overflow.
  18629.               
  18630.                  485   ERROR_CRITSEC_UNDERFLOW Critical section underflow.
  18631.               
  18632.                  486   ERROR_VIO_BAD_RESERVE   Reserved parameter is not zero.
  18633.               
  18634.                  487   ERROR_INVALID_ADDRESS   Invalid physical address.
  18635.               
  18636.                  488   ERROR_ZERO_SELECTORS_REQUESTED    At least one selector must be requested.
  18637.               
  18638.                  489   ERROR_NOT_ENOUGH_SELECTORS_AVA    Not enough GDT selectors to satisfy 
  18639.                  request.
  18640.               
  18641.                  490   ERROR_INVALID_SELECTOR  Not a GDT selector.
  18642.               
  18643.                  491   ERROR_SMG_INVALID_PROGRAM_TYPE    Invalid program type.
  18644.               
  18645.                  492   ERROR_SMG_INVALID_PGM_CONTROL     Invalid program control.
  18646.               
  18647.                  493   ERROR_SMG_INVALID_INHERIT_OPT     Invalid inherit option.
  18648.               
  18649.                  494   ERROR_VIO_EXTENDED_SG
  18650.               
  18651.                  495   ERROR_VIO_NOT_PRES_MGR_SG 
  18652.               
  18653.                  496   ERROR_VIO_SHIELD_OWNED 
  18654.               
  18655.                  497   ERROR_VIO_NO_MORE_HANDLES 
  18656.  
  18657.               
  18658.  
  18659.  
  18660.  
  18661.  
  18662.  
  18663.               
  18664.                  498   ERROR_VIO_SEE_ERROR_LOG 
  18665.               
  18666.                  499   ERROR_VIO_ASSOCIATED_DC 
  18667.               
  18668.                  500   ERROR_KBD_NO_CONSOLE 
  18669.               
  18670.                  501   ERROR_MOUSE_NO_CONSOLE 
  18671.               
  18672.                  502   ERROR_MOUSE_INVALID_HANDLE 
  18673.               
  18674.                  503   ERROR_SMG_INVALID_DEBUG_PARMS 
  18675.               
  18676.                  504   ERROR_KBD_EXTENDED_SG 
  18677.               
  18678.                  505   ERROR_MOU_EXTENDED_SG 
  18679.               
  18680.                  506   ERROR_SMG_INVALID_ICON_FILE 
  18681.               
  18682.                  507   ERROR_TRC_PID_NON_EXISTENT 
  18683.               
  18684.                  508   ERROR_TRC_COUNT_ACTIVE 
  18685.               
  18686.                  509   ERROR_TRC_SUSPENDED_BY_COUNT 
  18687.               
  18688.                  510   ERROR_TRC_COUNT_INACTIVE 
  18689.               
  18690.                  511   ERROR_TRC_COUNT_REACHED 
  18691.               
  18692.                  512   ERROR_NO_MC_TRACE 
  18693.               
  18694.                  513   ERROR_MC_TRACE 
  18695.               
  18696.                  514   ERROR_TRC_COUNT_ZERO 
  18697.               
  18698.                  515   ERROR_SMG_TOO_MANY_DDS 
  18699.               
  18700.                  516   ERROR_SMG_INVALID_NOTIFICATION 
  18701.               
  18702.                  517   ERROR_LF_INVALID_FUNCTION 
  18703.               
  18704.                  518   ERROR_LF_NOT_AVAIL 
  18705.               
  18706.                  519   ERROR_LF_SUSPENDED 
  18707.               
  18708.                  520   ERROR_LF_BUF_TOO_SMALL 
  18709.               
  18710.                  521   ERROR_LF_BUFFER_CORRUPTED 
  18711.               
  18712.                  521   ERROR_LF_BUFFER_FULL 
  18713.               
  18714.                  522   ERROR_LF_INVALID_DAEMON 
  18715.               
  18716.                  522   ERROR_LF_INVALID_RECORD 
  18717.               
  18718.                  523   ERROR_LF_INVALID_TEMPL 
  18719.               
  18720.                  523   ERROR_LF_INVALID_SERVICE 
  18721.               
  18722.                  524   ERROR_LF_GENERAL_FAILURE 
  18723.               
  18724.                  525   ERROR_LF_INVALID_ID 
  18725.               
  18726.                  526   ERROR_LF_INVALID_HANDLE 
  18727.               
  18728.                  527   ERROR_LF_NO_ID_AVAIL 
  18729.  
  18730.               
  18731.  
  18732.  
  18733.  
  18734.  
  18735.  
  18736.               
  18737.                  528   ERROR_LF_TEMPLATE_AREA_FULL 
  18738.               
  18739.                  529   ERROR_LF_ID_IN_USE 
  18740.               
  18741.                  530   ERROR_MOU_NOT_INITIALIZED 
  18742.               
  18743.                  531   ERROR_MOUINITREAL_DONE 
  18744.               
  18745.                  532   ERROR_DOSSUB_CORRUPTED 
  18746.               
  18747.                  533   ERROR_MOUSE_CALLER_NOT_SUBSYS 
  18748.               
  18749.                  534   ERROR_ARITHMETIC_OVERFLOW 
  18750.               
  18751.                  535   ERROR_TMR_NO_DEVICE 
  18752.               
  18753.                  536   ERROR_TMR_INVALID_TIME 
  18754.               
  18755.                  537   ERROR_PVW_INVALID_ENTITY 
  18756.               
  18757.                  538   ERROR_PVW_INVALID_ENTITY_TYPE 
  18758.               
  18759.                  539   ERROR_PVW_INVALID_SPEC 
  18760.               
  18761.                  540   ERROR_PVW_INVALID_RANGE_TYPE 
  18762.               
  18763.                  541   ERROR_PVW_INVALID_COUNTER_BLK 
  18764.               
  18765.                  542   ERROR_PVW_INVALID_TEXT_BLK 
  18766.               
  18767.                  543   ERROR_PRF_NOT_INITIALIZED 
  18768.               
  18769.                  544   ERROR_PRF_ALREADY_INITIALIZED 
  18770.               
  18771.                  545   ERROR_PRF_NOT_STARTED 
  18772.               
  18773.                  546   ERROR_PRF_ALREADY_STARTED 
  18774.               
  18775.                  547   ERROR_PRF_TIMER_OUT_OF_RANGE 
  18776.               
  18777.                  548   ERROR_PRF_TIMER_RESET 
  18778.               
  18779.                  639   ERROR_VDD_LOCK_USEAGE_DENIED 
  18780.               
  18781.                  640   ERROR_TIMEOUT 
  18782.               
  18783.                  641   ERROR_VDM_DOWN 
  18784.               
  18785.                  642   ERROR_VDM_LIMIT 
  18786.               
  18787.                  643   ERROR_VDD_NOT_FOUND 
  18788.               
  18789.                  644   ERROR_INVALID_CALLER 
  18790.               
  18791.                  645   ERROR_PID_MISMATCH 
  18792.               
  18793.                  646   ERROR_INVALID_VDD_HANDLE 
  18794.               
  18795.                  647   ERROR_VLPT_NO_SPOOLER 
  18796.               
  18797.                  648   ERROR_VCOM_DEVICE_BUSY 
  18798.               
  18799.                  649   ERROR_VLPT_DEVICE_BUSY 
  18800.               
  18801.                  650   ERROR_NESTING_TOO_DEEP 
  18802.  
  18803.               
  18804.  
  18805.  
  18806.  
  18807.  
  18808.  
  18809.               
  18810.                  651   ERROR_VDD_MISSING 
  18811.               
  18812.                  691   ERROR_IMP_INVALID_PARM 
  18813.               
  18814.                  692   ERROR_IMP_INVALID_LENGTH 
  18815.               
  18816.                  693   MSG_HPFS_DISK_ERROR_WARN 
  18817.               
  18818.                  730   ERROR_MON_BAD_BUFFER 
  18819.               
  18820.                  731   ERROR_MODULE_CORRUPTED 
  18821.               
  18822.                  2055   ERROR_LF_TIMEOUT 
  18823.               
  18824.                  2057   ERROR_LF_SUSPEND_SUCCESS 
  18825.               
  18826.                  2058   ERROR_LF_RESUME_SUCCESS 
  18827.               
  18828.                  2059   ERROR_LF_REDIRECT_SUCCESS 
  18829.               
  18830.                  2060   ERROR_LF_REDIRECT_FAILURE 
  18831.               
  18832.                  32768   ERROR_SWAPPER_NOT_ACTIVE 
  18833.               
  18834.                  32769   ERROR_INVALID_SWAPID 
  18835.               
  18836.                  32770   ERROR_IOERR_SWAP_FILE 
  18837.               
  18838.                  32771   ERROR_SWAP_TABLE_FULL 
  18839.               
  18840.                  32772   ERROR_SWAP_FILE_FULL 
  18841.               
  18842.                  32773   ERROR_CANT_INIT_SWAPPER 
  18843.               
  18844.                  32774   ERROR_SWAPPER_ALREADY_INIT 
  18845.               
  18846.                  32775   ERROR_PMM_INSUFFICIENT_MEMORY 
  18847.               
  18848.                  32776   ERROR_PMM_INVALID_FLAGS 
  18849.               
  18850.                  32777   ERROR_PMM_INVALID_ADDRESS 
  18851.               
  18852.                  32778   ERROR_PMM_LOCK_FAILED 
  18853.               
  18854.                  32779   ERROR_PMM_UNLOCK_FAILED 
  18855.               
  18856.                  32780   ERROR_PMM_MOVE_INCOMPLETE 
  18857.               
  18858.                  32781   ERROR_UCOM_DRIVE_RENAMED 
  18859.               
  18860.                  32782   ERROR_UCOM_FILENAME_TRUNCATED 
  18861.               
  18862.                  32783   ERROR_UCOM_BUFFER_LENGTH 
  18863.               
  18864.                  32784   ERROR_MON_CHAIN_HANDLE 
  18865.               
  18866.                  32785   ERROR_MON_NOT_REGISTERED 
  18867.               
  18868.                  32786   ERROR_SMG_ALREADY_TOP 
  18869.               
  18870.                  32787   ERROR_PMM_ARENA_MODIFIED 
  18871.               
  18872.                  32788   ERROR_SMG_PRINTER_OPEN 
  18873.               
  18874.                  32789   ERROR_PMM_SET_FLAGS_FAILED 
  18875.  
  18876.               
  18877.  
  18878.  
  18879.  
  18880.  
  18881.  
  18882.               
  18883.                  32790   ERROR_INVALID_DOS_DD 
  18884.               
  18885.                  32791   ERROR_BLOCKED 
  18886.               
  18887.                  32792   ERROR_NOBLOCK 
  18888.               
  18889.                  32793   ERROR_INSTANCE_SHARED 
  18890.               
  18891.                  32794   ERROR_NO_OBJECT 
  18892.               
  18893.                  32795   ERROR_PARTIAL_ATTACH 
  18894.               
  18895.                  32796   ERROR_INCACHE 
  18896.               
  18897.                  32797   ERROR_SWAP_IO_PROBLEMS 
  18898.               
  18899.                  32798   ERROR_CROSSES_OBJECT_BOUNDARY 
  18900.               
  18901.                  32799   ERROR_LONGLOCK 
  18902.               
  18903.                  32800   ERROR_SHORTLOCK 
  18904.               
  18905.                  32801   ERROR_UVIRTLOCK 
  18906.               
  18907.                  32802   ERROR_ALIASLOCK 
  18908.               
  18909.                  32803   ERROR_ALIAS 
  18910.               
  18911.                  32804   ERROR_NO_MORE_HANDLES 
  18912.               
  18913.                  32805   ERROR_SCAN_TERMINATED 
  18914.               
  18915.                  32806   ERROR_TERMINATOR_NOT_FOUND 
  18916.               
  18917.                  32807   ERROR_NOT_DIRECT_CHILD 
  18918.               
  18919.                  32808   ERROR_DELAY_FREE 
  18920.               
  18921.                  32809   ERROR_GUARDPAGE 
  18922.               
  18923.                  32900   ERROR_SWAPERROR 
  18924.               
  18925.                  32901   ERROR_LDRERROR 
  18926.               
  18927.                  32902   ERROR_NOMEMORY 
  18928.               
  18929.                  32903   ERROR_NOACCESS 
  18930.               
  18931.                  32904   ERROR_NO_DLL_TERM 
  18932.               
  18933.                  65026   ERROR_CPSIO_CODE_PAGE_INVALID 
  18934.               
  18935.                  65027   ERROR_CPSIO_NO_SPOOLER 
  18936.               
  18937.                  65028   ERROR_CPSIO_FONT_ID_INVALID 
  18938.               
  18939.                  65033   ERROR_CPSIO_INTERNAL_ERROR 
  18940.               
  18941.                  65034   ERROR_CPSIO_INVALID_PTR_NAME 
  18942.               
  18943.                  65037   ERROR_CPSIO_NOT_ACTIVE 
  18944.               
  18945.                  65039   ERROR_CPSIO_PID_FULL 
  18946.               
  18947.                  65040   ERROR_CPSIO_PID_NOT_FOUND 
  18948.  
  18949.               
  18950.  
  18951.  
  18952.  
  18953.  
  18954.  
  18955.               
  18956.                  65043   ERROR_CPSIO_READ_CTL_SEQ 
  18957.               
  18958.                  65045   ERROR_CPSIO_READ_FNT_DEF 
  18959.               
  18960.                  65047   ERROR_CPSIO_WRITE_ERROR 
  18961.               
  18962.                  65048   ERROR_CPSIO_WRITE_FULL_ERROR 
  18963.               
  18964.                  65049   ERROR_CPSIO_WRITE_HANDLE_BAD 
  18965.               
  18966.                  65074   ERROR_CPSIO_SWIT_LOAD 
  18967.               
  18968.                  65077   ERROR_CPSIO_INV_COMMAND 
  18969.               
  18970.                  65078   ERROR_CPSIO_NO_FONT_SWIT 
  18971.               
  18972.                  65079   ERROR_ENTRY_IS_CALLGATE
  18973.               
  18974.               
  18975.  
  18976.  
  18977.  
  18978.  
  18979.  
  18980.               E.   Appendix E - Command Summary
  18981.               
  18982.                  * Commands marked with asterisk are available only to system operators and assistant 
  18983.                  system operators
  18984.               
  18985.                  
  18986.               
  18987.                  ** Commands marked with two asterisks are available only to full system operators
  18988.               
  18989.                  
  18990.               
  18991.                  MAIN MENU 
  18992.               
  18993.                     A = Artificial Intelligence (Text Branching Adventure)
  18994.               
  18995.                     B = Sub-Board Selection Menu
  18996.               
  18997.                     C = Chat with Other Callers
  18998.               
  18999.                     Cnnnn = Enter Public Chat Channel nnnn
  19000.               
  19001.                     D = Download Files
  19002.               
  19003.                     E = Enter a Message
  19004.               
  19005.                     F = File (Directory) Listing
  19006.               
  19007.                     G = Good-bye (Normal Logoff)
  19008.               
  19009.                     H = HELP!!!
  19010.               
  19011.                     I = Internet Features
  19012.               
  19013.                     J = Application Specific Database
  19014.               
  19015.                     K = Kill Process (Return to Main Prompt)
  19016.               
  19017.                     L = List Network Nodes
  19018.               
  19019.                     M = Matchmaker
  19020.               
  19021.                     N = Change Name and Personal Configuration Options
  19022.               
  19023.                     O = Outside Features (Doors)
  19024.               
  19025.                  ** P = Installation/Configuration (SYSOPs only)
  19026.               
  19027.                     Q = Quick Logoff
  19028.               
  19029.                     R = Read Messages
  19030.               
  19031.                     S = Summary of Message Titles
  19032.               
  19033.                     T = Tutorial
  19034.               
  19035.                     U = Upload Files
  19036.               
  19037.                     V = View Files
  19038.               
  19039.                     W = Who are the Users
  19040.               
  19041.                     X = FAXback Service
  19042.               
  19043.                   * Y = Remote Control Window (just displays copyright notice to unprivileged accounts
  19044.               
  19045.                     Z = Quick Logoff, no LLO reset
  19046.  
  19047.               
  19048.  
  19049.  
  19050.  
  19051.  
  19052.  
  19053.               
  19054.                     $ = Subscription Information
  19055.               
  19056.                  ** % = Purge Messages & Users
  19057.               
  19058.                     999 = Select Sub-board #999
  19059.               
  19060.                     99999 = Read Message #99999
  19061.               
  19062.                     - or * = Select Next Sub-board
  19063.               
  19064.                   * + = System Management (accounts with "O" flag are permitted to use "+C" on one the one 
  19065.                  network account corresponding to their serial number)
  19066.               
  19067.                     ? = Display Menu
  19068.               
  19069.                     # = Read Message by Message Number
  19070.               
  19071.                     ! = Custom Feature on ORA190
  19072.               
  19073.                     /x or \x = Execute Chat Command "x" from Main Prompt
  19074.               
  19075.                  
  19076.               
  19077.                  READ SUBCOMMANDS
  19078.               
  19079.                     RA xxxx= Read Messages TO and FROM Account xxxx
  19080.               
  19081.                     RB = Read Messages Backward by Date
  19082.               
  19083.                     RB YYMMDDhhmm = Read Messages Bkwd Starting at Date/Time
  19084.               
  19085.                     RC = Read New Messages on Complete System
  19086.               
  19087.                     RC RESTART = Restart an RC Command
  19088.               
  19089.                     RF = Read Forward by Date
  19090.               
  19091.                     RF YYMMDDhhmm = Read Messages Forward Starting at Date/Time
  19092.               
  19093.                     RH = Help for Read Commands
  19094.               
  19095.                     RL = Read Messages Changed Since Last Logon
  19096.               
  19097.                     RM = Read My Mail Messages
  19098.               
  19099.                     RR = Read Restart
  19100.               
  19101.                     RS string = Read Messages Containing string
  19102.               
  19103.                     RZ xxxx = Read Messages TO Account xxxx
  19104.               
  19105.                     R# 99999 or R! 99999= Read Message #99999
  19106.               
  19107.                  
  19108.               
  19109.                  SUMMARY SUBCOMMANDS  
  19110.               
  19111.                     SA xxxx= Summary of Messages TO and FROM Account xxxx
  19112.               
  19113.                     SB = Summary of Messages Backward by Date
  19114.               
  19115.                     SB YYMMDDhhmm = Summary of Messages Backward Starting at Date/Time
  19116.               
  19117.                     SC = Summary ofNew Messages on Complete System
  19118.               
  19119.  
  19120.               
  19121.  
  19122.  
  19123.  
  19124.  
  19125.  
  19126.                     SC RESTART = Restart an SC Command
  19127.               
  19128.                     SF = Summary of Messages Forward by Date
  19129.               
  19130.                     SF YYMMDDhhmm = Summary of Messages Forward Starting at Date/Time
  19131.               
  19132.                     SH = Help for Summary Commands
  19133.               
  19134.                     SL = Summary of Messages Changed Since Last Logon
  19135.               
  19136.                     SM = Summary of My Mail Messages
  19137.               
  19138.                     SR = Summary Restart
  19139.               
  19140.                     SS string = Summary of Messages Containing string
  19141.               
  19142.                     SZ xxxx = Summary of Messages TO Account xxxx
  19143.               
  19144.                     S# 99999 or S! 99999= Summary of Message #99999
  19145.               
  19146.                  
  19147.               
  19148.                  COMMANDS AT END OF MESSAGE READ
  19149.               
  19150.                     A xxxx = Account, View Profile of Account xxxx
  19151.               
  19152.                     B = Begin Reading Again
  19153.               
  19154.                     C = Add Comment to Message 
  19155.               
  19156.                     D = Delete the Message
  19157.               
  19158.                     E = Enter a New Message
  19159.               
  19160.                     F = Forward Message to Originator
  19161.               
  19162.                   * G = Change Graphic Status
  19163.               
  19164.                   * H = Change Held Message Status
  19165.               
  19166.                   * I = Change Readonly Message Status
  19167.               
  19168.                  ** J = Change Anonymous Message Status
  19169.               
  19170.                     K = Return to Main Menu
  19171.               
  19172.                   * L = Link to Another Message
  19173.               
  19174.                   * M = Modify Message
  19175.               
  19176.                   * N = Change No Delete Message Status
  19177.               
  19178.                   * P = Change Private Message Status
  19179.               
  19180.                   * R = Reroute to a Different Account
  19181.               
  19182.                  ** S = Swap TO and FROM Accounts
  19183.               
  19184.                   * T = Transfer to a Different Sub-board
  19185.               
  19186.                   * V = Change No Interrupt Message Status
  19187.               
  19188.                     W =  Who, View Profile of Original Author
  19189.               
  19190.                   * X = Remove Last Comment
  19191.               
  19192.  
  19193.               
  19194.  
  19195.  
  19196.  
  19197.  
  19198.  
  19199.                   * Y = Move on to Next Message without Recording Having Read this Message
  19200.               
  19201.                   * @ = Append Comment fro Disk File
  19202.               
  19203.                   * + =  Modify Account of Original Author
  19204.               
  19205.                   * % = Make a Disk File from the Message
  19206.               
  19207.                     / = Interrupt Another Account On-Line with a Message
  19208.               
  19209.                     # 99999 = Read Message #99999
  19210.               
  19211.                  
  19212.               
  19213.                  COMMANDS DURING MESSAGE READ (with or without CTRL key) 
  19214.               
  19215.                  SPACE BAR = Pause or Resume
  19216.               
  19217.                  CONTROL B = Jump Back One Comment
  19218.               
  19219.                  CONTROL C = Skip to End of Message
  19220.               
  19221.                  CONTROL Q = Resume from Pause
  19222.               
  19223.                  CONTROL S = Pause
  19224.               
  19225.                  CONTROL V = Skip 1000 Characters
  19226.               
  19227.                  CONTROL X = Skip to Next Comment
  19228.               
  19229.                  CONTROL Z = Skip to Comments Last Logon
  19230.               
  19231.                  
  19232.               
  19233.                  ENTER  SUBCOMMANDS
  19234.               
  19235.                     EA account or E account= Send Private Message to account
  19236.               
  19237.                     EH = Help for Enter Commands
  19238.               
  19239.                     EX account = Upload Message to account Using XMODEM
  19240.               
  19241.                     EC account = Upload Message to account Using XMODEM-CRC
  19242.               
  19243.                     E1 account = Upload Message to account Using XMODEM-1K
  19244.               
  19245.                     EY account= Send Anonymous Mail to account
  19246.               
  19247.                   * E@ account = Create Message from Disk File to account
  19248.               
  19249.                  
  19250.               
  19251.                  SPECIAL ENTER COMMAND PSEUDO-ACCOUNT CODES (where "Ex" can be one of the 
  19252.                  above)
  19253.               
  19254.                     Ex  ALL = Create a Public Message
  19255.               
  19256.                     Ex  ALLS = Create Message to Subscribers
  19257.               
  19258.                     Ex  ANON = Create Anonymous Public Message 
  19259.               
  19260.                     Ex  FIDO = Create Message to Someone on FIDOnet
  19261.               
  19262.                     Ex  HELP = Read Help Message
  19263.               
  19264.                  ** Ex MASSMAIL = Create Private Mail to Everyone on current Sub-board
  19265.  
  19266.               
  19267.  
  19268.  
  19269.  
  19270.  
  19271.  
  19272.               
  19273.                  ** Ex NEWUSERS = Create Private Mail to Everyone on current Sub-board with Less Than 
  19274.                  Five Lifetime Calls
  19275.               
  19276.                     Ex   POLL or Ex  AUTO = Create an Autopoll Message
  19277.               
  19278.                     Ex  READONLY = Create Public Message with No Comments Allowed
  19279.               
  19280.                     Ex  SEX = Create an Anonymous, Readonly Public Message
  19281.               
  19282.                     Ex  SYSOP = Send Private Mail to Sysop
  19283.               
  19284.                  
  19285.               
  19286.                  EDIT OPTIONS AFTER ENTERING A MESSAGE
  19287.               
  19288.                  C = Continue (Append New Lines)
  19289.               
  19290.                  D999 = Delete Line 999
  19291.               
  19292.                  E = Edit Individual Line of Msg
  19293.               
  19294.                  I999 = Insert a Line Before 999
  19295.               
  19296.                  L = List the Message
  19297.               
  19298.                  L999 = List from Line 999
  19299.               
  19300.                  R999 = Replace Line 999
  19301.               
  19302.                  Q = Quit (Abandon Message)
  19303.               
  19304.                  S = Save Message and Exit
  19305.               
  19306.                  SR = Send msg to ACCT with Receipt
  19307.               
  19308.                  ? = Message Editor Menu
  19309.               
  19310.                  
  19311.               
  19312.                  WHO SUBCOMMANDS - Shows Users' Profile  (ID and Description Lines)
  19313.               
  19314.                     WA accountor WI account = List Entry for an Account 
  19315.               
  19316.                     WB = Who Backwards by Account
  19317.               
  19318.                     WB xxx = Who Backwards by Account, only those accounts beginning with the string "xxx"
  19319.               
  19320.                     WC = Who by Date (oldest to newest)
  19321.               
  19322.                     WC YYMMDDhhmm = Who by Date, Oldest to Newest, Beginning with Specified 
  19323.                  Date/Time
  19324.               
  19325.                  ** WC DELETE = Who by Date (oldest to newest) and prompt for deletion as each account is 
  19326.                  displayed
  19327.               
  19328.                     WD = Who by Date (newest to oldest)
  19329.               
  19330.                     WD YYMMDDhhmm = Who by Date, Newest to Oldest, Beginning with Specified 
  19331.                  Date/Time
  19332.               
  19333.                     WF = List Users Forward by Acct
  19334.               
  19335.                     WF xxx= List Users Forward by Acct, only those accounts beginning with the string "xxx"
  19336.               
  19337.                     WG = List Users Forward by Geographic Location
  19338.  
  19339.               
  19340.  
  19341.  
  19342.  
  19343.  
  19344.  
  19345.               
  19346.                     WG xx = List users living in state "xx"
  19347.               
  19348.                     WH = Help for Who Commands
  19349.               
  19350.                     WL = List Users Since Last Logon
  19351.               
  19352.                     WL YYMMDDhhmm = Who by Date, Oldest to Newest, Beginning with Specified Date/Time
  19353.               
  19354.                     WM = List My own Information
  19355.               
  19356.                     WN = List New Users Since Last Logon
  19357.               
  19358.                     WN YYMMDDhhmm = Who by Date, Oldest to Newest, Beginning with Specified 
  19359.                  Date/Time
  19360.               
  19361.                     WO = Who is Online Now?
  19362.               
  19363.                     WOL = Who is Online Now, Long Display
  19364.               
  19365.                     WOR = Who is Online Now, Repeat Every 3 Seconds
  19366.               
  19367.                     WR nnnnn = Who is on Remote Network Node nnnnn
  19368.               
  19369.                     WS  xxxx = Search for Character String  xxxx
  19370.               
  19371.                     WT = List Users on Today
  19372.               
  19373.                  
  19374.               
  19375.                  MATCH COMMANDS -
  19376.               
  19377.                  Shows Users' Profile and Answers to Matchmaker Questionnaires
  19378.               
  19379.                     MA account = List Answers for account
  19380.               
  19381.                     MB = Who Backwards by Account
  19382.               
  19383.                     MB xxx = Who Backwards by Account, only those accounts beginning with the string "xxx"
  19384.               
  19385.                     MC = Who by Date (oldest to newest)
  19386.               
  19387.                     MC YYMMDDhhmm = Who by Date, Oldest to Newest, Beginning with Specified Date/Time
  19388.               
  19389.                     MD = Who by Date (newest to oldest)
  19390.               
  19391.                     MD YYMMDDhhmm = Who by Date, Newest to Oldest, Beginning with Specified Date/Time
  19392.               
  19393.                     MF = List Users Forward by Acct
  19394.               
  19395.                     MF xxx= List Users Forward by Acct, only those accounts beginning with the string "xxx"
  19396.               
  19397.                     MH = Help for Matchmaker Commands
  19398.               
  19399.                     MI = ("I Am") Reanswer Quest.
  19400.               
  19401.                     MI n = Reanswer Question# n Only
  19402.               
  19403.                     ML = List Users Since Last Logon
  19404.               
  19405.                     ML YYMMDDhhmm = Who by Date, Oldest to Newest, Beginning with Specified Date/Time
  19406.               
  19407.                     MN = List New Users Since Last Logon
  19408.               
  19409.                     MN YYMMDDhhmm = Who by Date, Oldest to Newest, Beginning with Specified Date/Time
  19410.               
  19411.  
  19412.               
  19413.  
  19414.  
  19415.  
  19416.  
  19417.  
  19418.                     MP = Match by Percentage
  19419.               
  19420.                     MQ = List Questionnaire w/o Answer
  19421.               
  19422.                     MS = Search User Questionnaires
  19423.               
  19424.                     MS QUICK = Match by Percentage, same as MP
  19425.               
  19426.                     MT = List Users on Today
  19427.               
  19428.                  
  19429.               
  19430.                  CHAT COMMANDS
  19431.               
  19432.                  /CALL account  text = Send text to account asking him to enter public chat.
  19433.               
  19434.                  /CALL ALL text = Broadcast text to all users asking them to enter public chat.
  19435.               
  19436.                  /BRING account text= Send text to account asking him to enter private chat.
  19437.               
  19438.                  /HELP = Display help for chat commands.
  19439.               
  19440.                  /PRIVATE account text = Used only from public chat; send text to account telling him that you 
  19441.                  are going into private chat.
  19442.               
  19443.                  /UNPRIVATE = Used only from private chat; go back to public chat.
  19444.               
  19445.                  /WHO = List users online now.
  19446.               
  19447.                  /ANNOUNCE text = Change message displayed by your name when others list who is online 
  19448.                  now.
  19449.               
  19450.                  /MATCH account = View the matchmaker questionnaire responses for account.
  19451.               
  19452.                  /L nnnn = Change to chat channel nnnn.
  19453.               
  19454.                  /NOCHAT = Exit chat and block "/CALL" messages.
  19455.               
  19456.                  /EXIT = Exit chat.
  19457.               
  19458.                  /TO account text = Interrupt account by sending text to him.
  19459.               
  19460.                  /GROUP line1 ilne2... = Form a private public chat group including the phone lines listed.
  19461.               
  19462.                  /INVISIBLE = Exit chat and become invisible to other users online.
  19463.               
  19464.                  //macro arg1 arg2 arg3 = Broadcast a message in public chat using SYSOP defined macro 
  19465.                  and up to three arguments.
  19466.               
  19467.                  /\macro account arg1 arg2 arg3 = Interrupt account by sending SYSOP defined macro to him, 
  19468.                  using up to three arguments.
  19469.               
  19470.                  / /? = List SYSOP defined chat macros.
  19471.               
  19472.                  / /HELP = Display help message for SYSOP defined macros.
  19473.               
  19474.                  ' text (apostrophe) = Possessive emote - sends your account code, followed by apostrophe, 
  19475.                  "s", and text to everyone in public chat.
  19476.               
  19477.                  ` text (backwards apostrophe) = N0n-possessive emote - sends your account code, followed 
  19478.                  by text to everyone in public chat.
  19479.               
  19480.                  
  19481.               
  19482.                  "N"  MENU OPTIONS (three line description option) - 
  19483.               
  19484.  
  19485.               
  19486.  
  19487.  
  19488.  
  19489.  
  19490.  
  19491.                  (To change your personal information and system operating parameters) 
  19492.               
  19493.                  0 = Account Code (if enabled)
  19494.               
  19495.                  1 = Password 
  19496.               
  19497.                  2 = Name/Handle 
  19498.               
  19499.                  3 = Location (City/State)
  19500.               
  19501.                  4 = Three-Line Description
  19502.               
  19503.                  5 = Session Controls
  19504.               
  19505.                  6 = Set Lines per Screen
  19506.               
  19507.                  7 = Set Restrictions for RC Command
  19508.               
  19509.                  8 = Set Default File Name Extension
  19510.               
  19511.                  9 = Turn ANSI/RIP Graphics On/Off
  19512.               
  19513.                  H = Help for "N" commands
  19514.               
  19515.                  I = Accounts to Ingore
  19516.               
  19517.                  S = Save Changes and Exit
  19518.               
  19519.                  T = Telephone Callback Feature
  19520.               
  19521.                  
  19522.               
  19523.                  "N"  MENU OPTIONS (name and address option) - 
  19524.               
  19525.                  (To change your personal information and system operating parameters) 
  19526.               
  19527.                  0 = Account Code (if enabled)
  19528.               
  19529.                  1 = Password 
  19530.               
  19531.                  2 = Name/Handle 
  19532.               
  19533.                  4 = Three-Line Description
  19534.               
  19535.                  5 = Session Controls
  19536.               
  19537.                  6 = Set Lines per Screen
  19538.               
  19539.                  7 = Set Restrictions for RC Command
  19540.               
  19541.                  8 = Set Default File Name Extension
  19542.               
  19543.                  9 = Turn ANSI/RIP Graphics On/Off
  19544.               
  19545.                  A = Company Name
  19546.               
  19547.                  B = Business Address
  19548.               
  19549.                  C = City
  19550.               
  19551.                  D = State
  19552.               
  19553.                  E = Zip or Postal Code
  19554.               
  19555.                  F = Voice Telephone Number
  19556.               
  19557.  
  19558.               
  19559.  
  19560.  
  19561.  
  19562.  
  19563.  
  19564.                  G = FAX Telephone Number
  19565.               
  19566.                  H = Help for "N" commands
  19567.               
  19568.                  I = Accounts to Ignore
  19569.               
  19570.                  S = Save Changes and Exit
  19571.               
  19572.                  T = Telephone Callback Feature
  19573.               
  19574.                  
  19575.               
  19576.                  FILES/DIRECTORY COMMANDS
  19577.               
  19578.                  FB = Show Files Backward by Date Uploaded, Latest to Oldest
  19579.               
  19580.                  FC = Show Complete New Files Since Last Logon Across all Sub-Boards
  19581.               
  19582.                  FC   YYMMDDhhmm = Show Complete New Files Since Date/Time
  19583.               
  19584.                  FD = Delete Private Files
  19585.               
  19586.                  FF = Show Files Forward in Alphabetical Order
  19587.               
  19588.                  FG string = Search File Descriptions for string Across All Directories
  19589.               
  19590.                  FL = Show New Files on the Current Sub-Board added Since Last Logon
  19591.               
  19592.                  FL  YYMMDDhhmm = New Files on Current Board Since Date/Time
  19593.               
  19594.                  FQ = Quick Directory of Filenames Only
  19595.               
  19596.                  FS string = Search File Descriptions for string in Current Directory
  19597.               
  19598.                  FT = True Disk Directory (not Download Database)
  19599.               
  19600.                  
  19601.               
  19602.                  DOWNLOAD  PROTOCOL SUBCOMMANDS
  19603.               
  19604.                     DA = ASCII (XON, XOFF) Protocol 
  19605.               
  19606.                     DR = Search Contents of File(s) for a string.
  19607.               
  19608.                     DX = XMODEM Checksum Protocol
  19609.               
  19610.                     DC = XMODEM CRC Protocol
  19611.               
  19612.                     D1 = XMODEM 1K Protocol
  19613.               
  19614.                     DY = YMODEM Batch Protocol
  19615.               
  19616.                     DG = YMODEM-G Batch Protocol
  19617.               
  19618.                     DZ = ZMODEM Batch Protocol
  19619.               
  19620.                     D7 = MODEM7 Batch Protocol
  19621.               
  19622.                     DT = TeLink Batch Protocol
  19623.               
  19624.                     DS = SEAlink Batch Protocol
  19625.               
  19626.                   * DD or D% = Copy Files to Floppy Disk Drive A
  19627.               
  19628.                  
  19629.               
  19630.  
  19631.               
  19632.  
  19633.  
  19634.  
  19635.  
  19636.  
  19637.                  "Tagging", or selecting files by having the system list all can be done by entering a file "mask" 
  19638.                  followed by /T (Tag) such as:
  19639.               
  19640.                  
  19641.               
  19642.                  DZ *.* /T
  19643.               
  19644.                  
  19645.               
  19646.                  To terminate the session when the batch download is complete, follow the command with /Q 
  19647.                  (Quit) such as 
  19648.               
  19649.                  
  19650.               
  19651.                  DY /Q
  19652.               
  19653.                  
  19654.               
  19655.                  UPLOAD PROTOCOL SUBCOMMANDS
  19656.               
  19657.                     UA = ASCII (XON/XOFF) Protocol
  19658.               
  19659.                     UX = XMODEM Checksum Protocol
  19660.               
  19661.                     UC = XMODEM CRC Protocol
  19662.               
  19663.                     U1 = XMODEM 1K Protocol
  19664.               
  19665.                     UY = YMODEM Batch Protocol
  19666.               
  19667.                     UG = YMODEM-G Batch Protocol
  19668.               
  19669.                     UZ = ZMODEM Batch Protocol
  19670.               
  19671.                     U7 = MODEM7 Batch Protocol
  19672.               
  19673.                     UT = TeLink Batch Protocol
  19674.               
  19675.                     US = SEAlink Batch Protocol
  19676.               
  19677.                   * UD or U@ = Copy Files from Floppy Disk Drive A
  19678.               
  19679.                  
  19680.               
  19681.                  FAXBACK COMMANDS
  19682.               
  19683.                  XB = Show Documents Backward by Date Uploaded, Latest to Oldest
  19684.               
  19685.                  XC = Show Complete New Documents Since Last Logon Across all Sub-Boards
  19686.               
  19687.                  XC   YYMMDDhhmm = Show Complete New Documents Since Date/Time
  19688.               
  19689.                  XD = Delete Private Documents
  19690.               
  19691.                  XF = Show Documents Forward in Alphabetical Order
  19692.               
  19693.                  XG string = Search Document Descriptions for string Across All Directories
  19694.               
  19695.                  XL = Show New Documents on the Current Sub-Board added Since Last Logon
  19696.               
  19697.                  XL  YYMMDDhhmm = New Documents on Current Board Since Date/Time
  19698.               
  19699.                  XQ = Quick Directory of Document Filenames Only
  19700.               
  19701.                  XS string = Search Document Descriptions for string in Current Directory
  19702.               
  19703.  
  19704.               
  19705.  
  19706.  
  19707.  
  19708.  
  19709.  
  19710.                  XT = True Disk Directory (not Download Database)
  19711.               
  19712.                  XZ = Select Documents and Transmit
  19713.               
  19714.                  
  19715.               
  19716.                  NETWORK NODE LISTING SUBCOMMANDS
  19717.               
  19718.                  LO = List Bulletnet Nodes
  19719.               
  19720.                  LF = List All FIDOnet Nodes by Address
  19721.               
  19722.                  LF i:j/k = List FIDOnet Nodes by Address, Starting at i:j/k
  19723.               
  19724.                  LC = List All FIDOnet Nodes by Country
  19725.               
  19726.                  LC xxxx = Search FIDOnet Nodes for Country "xxxx"
  19727.               
  19728.                  LS = List All FIDOnet Nodes by State
  19729.               
  19730.                  LS xxxx = Search FIDOnet Nodes for State "xxxx"
  19731.               
  19732.                  LL = List All FIDOnet Nodes by Location (city)
  19733.               
  19734.                  LL xxxx = Search FIDOnet Nodes for Location (City) "xxxx"
  19735.               
  19736.                  LA = List All FIDOnet Nodes by Phone Country and City Code
  19737.               
  19738.                  LA 1-nnn = Search FIDOnet Nodes for Area Code "nnn" (USA & Canada)
  19739.               
  19740.                  LA nnn- = Search FIDOnet Nodes for Country Code "nnn"
  19741.               
  19742.                  LA nnn-mmm = Search FIDOnet Nodes for Country Code "nnn" and City Code "mmm"
  19743.               
  19744.                  LH =  Help for Node Listing Commands
  19745.               
  19746.                  
  19747.               
  19748.                  INTERNET COMMANDS
  19749.               
  19750.                     ILaddress  = Look Up Name for Host address
  19751.               
  19752.                     IL name = Look Up Address for Host name
  19753.               
  19754.                     IPaddress = PING Host address
  19755.               
  19756.                     IPname = PING Host name
  19757.               
  19758.                     IW address = FINGER Host address
  19759.               
  19760.                     IW name = FINGER Host name
  19761.               
  19762.                     IW user@address = FINGER user at Host address
  19763.               
  19764.                     IW user@name = FINGER user at Host name
  19765.               
  19766.                     IC user@address = TALK with user at Host address
  19767.               
  19768.                     IC user@name = TALK with user at Host name
  19769.               
  19770.                     IFaddress = Open FTP Session with Host address
  19771.               
  19772.                     IFname = Open FTP Session with Host name
  19773.               
  19774.                     IK = Return to Main Menu
  19775.               
  19776.  
  19777.               
  19778.  
  19779.  
  19780.  
  19781.  
  19782.  
  19783.                     IT address = TELNET into Host address
  19784.               
  19785.                     IT name = TELNET into Host name
  19786.               
  19787.                  
  19788.               
  19789.                  FILE VIEWING COMMANDS
  19790.               
  19791.                  VA = View ASCII.  Same as DA filename.TXT where the .TXT is automatically added.  
  19792.                  Download time and download/upload ratio are NOT checked.  No entry is made in the log 
  19793.                  for files Viewed as Bulletron does when files are DA, but the download count and date 
  19794.                  are updated.
  19795.               
  19796.                  VZ = View ZIP.  Display the contents of a .ZIP file.
  19797.               
  19798.                  VG = View JPEG.  Sends a .JPG file across the line, raw, with no file transfer protocol 
  19799.                  overhead, for the benefit of terminal programs that can recognize and display such.
  19800.               
  19801.                  INSTALLATION  PARAMETER  SUBCOMMANDS
  19802.               
  19803.                  ** PP = Set  System Parameters
  19804.               
  19805.                  ** PL = Set Line Characteristics
  19806.               
  19807.                  ** PM = Set Modem Parameters
  19808.               
  19809.                  ** PB = Set Up Sub-boards
  19810.               
  19811.                  ** PF = Set up File Paths
  19812.               
  19813.                  ** PD = Set up Sub-Board Directories
  19814.               
  19815.                  ** PG = Set ANSI Graphic Colors
  19816.               
  19817.                  ** PA = Set ANSI Colors for Sub-boards
  19818.               
  19819.                  ** PC = Set up Chat Channels
  19820.               
  19821.                  ** PX = Extended Features Setup
  19822.               
  19823.                  ** PZ = Set ANSI Colors for Commands (special compile option)
  19824.               
  19825.                  ** PQ or PK = Return to Main Menu
  19826.               
  19827.                  
  19828.               
  19829.                  EXTENDED FEATURES PARAMETERS SUBCOMMANDS
  19830.               
  19831.                  ** PXA = Create Secondary SYSOP Password
  19832.               
  19833.                  ** PXS = Set up System Passwords
  19834.               
  19835.                  ** PXL = Set up Network Nodes
  19836.               
  19837.                  ** PXN = Set up Text Branching Adventure Feature
  19838.               
  19839.                  ** PXR = Refresh Prompts and Network Call Table
  19840.               
  19841.                  ** PXF = Assign FIDOnet Conference Names to Sub-boards
  19842.               
  19843.                  ** PXP = Set up Extended System Parameters
  19844.               
  19845.                  ** PXI = Set up Internet Parameters
  19846.               
  19847.                  ** PX$ = Set up Subscriber Parameters
  19848.               
  19849.  
  19850.               
  19851.  
  19852.  
  19853.  
  19854.  
  19855.  
  19856.                  ** PXO = Set up Outside Features
  19857.               
  19858.                  ** PXT = Assign Time Limits to Access Levels
  19859.               
  19860.                  ** PXC = Set System Counters
  19861.               
  19862.                  ** PXX = Set up FAX Document Directories
  19863.               
  19864.                  
  19865.               
  19866.                  SYSTEM  MANAGEMENT  SUBCOMMANDS
  19867.               
  19868.                  ** +0 account = Change Account Code of account
  19869.               
  19870.                  ** +1 account = Delete account
  19871.               
  19872.                   * +2 account = Change Access Levels of account
  19873.               
  19874.                     +3 account = Change SIGs for account
  19875.               
  19876.                   * +4 account = Change Flags for account
  19877.               
  19878.                  ** +5 account = Change Password for account
  19879.               
  19880.                   * +6 account = Change Minutes Used Today for account
  19881.               
  19882.                   * +7 account = Delete Matchmaker Responses for account
  19883.               
  19884.                   * +7 ALL = Delete Matchmaker Responses for All Accounts
  19885.               
  19886.                   * +8 account = Change Download and Upload Counts for account
  19887.               
  19888.                   * +9 account = Change VERIFYQU Flag for account
  19889.               
  19890.                  ** +A account = Change Cents or Minutes Remaining for account
  19891.               
  19892.                  ** +B account = Change Expiration Date for account
  19893.               
  19894.                     +C account = Change Last Logon Date/Time for account
  19895.               
  19896.                   * +D account = Change Class for account
  19897.               
  19898.                   * +E account = Change Location (City/State) for account
  19899.               
  19900.                   * +F = File Management Subcommands
  19901.               
  19902.                   * +G account = Change Session Controls for account
  19903.               
  19904.                   * +I account = Clear Status Index for account
  19905.               
  19906.                   * +J account = Change Name/Handle for account
  19907.               
  19908.                     +K = Exit without Saving Changes
  19909.               
  19910.                   * + L account = Change Personal Description for account
  19911.               
  19912.                   * +M account = Change City for account
  19913.               
  19914.                   * +N = Display Number of Messages per Sub-board
  19915.               
  19916.                   * +O account = Add to Cents or Minutes Remaining for account
  19917.               
  19918.                     +S = Save Changes to Account and Exit
  19919.               
  19920.                  ** +V = Copy File
  19921.               
  19922.  
  19923.               
  19924.  
  19925.  
  19926.  
  19927.  
  19928.  
  19929.                  ** +W = Diaplay File
  19930.               
  19931.                  ** +X = Rename File
  19932.               
  19933.                  ** +Y = Delete File
  19934.               
  19935.                  ** +Z = Display Disk Directory
  19936.               
  19937.                  
  19938.               
  19939.                  FILE MANAGEMENT SUBCOMMANDS
  19940.               
  19941.                   * +F 1 = Display Sub-board Directory Assignments
  19942.               
  19943.                   * +F 2 = Display Path-IDs
  19944.               
  19945.                   * +F 3 = Modify Download Database Record
  19946.               
  19947.                   * +F 4 = Display True DIskj Directory for Path-ID
  19948.               
  19949.                   * +F 5 = Verify Download Database Records Against Disk Directory
  19950.               
  19951.                   * +F 6 = Copy File and Adjust Download Database
  19952.               
  19953.                   * +F 7 = Rename or Move File and Adjust Download Database
  19954.               
  19955.                   * +F 8 = Delete File and Download Database Record
  19956.               
  19957.                   * +F 9 = Copy File and Create Download Database Record
  19958.               
  19959.                  ** +F A = Build ALLFILES.TXT and ALLUSERS.TXT
  19960.               
  19961.                   * +F Q or +F K = Return to Main Menu
  19962.               
  19963.    
  19964.               
  19965.               
  19966.  
  19967.  
  19968.  
  19969.  
  19970.  
  19971.               F.   Appendix F - Improving Performance using a RAM Drive
  19972.               
  19973.                  If you have enough memory to create a RAM drive or virtual disk (VDISK), you can use this to 
  19974.                  improve the performance of Bulletron.  Be aware that this improvement may not be significant enough 
  19975.                  to be worth the effort if you are already using HPFS386 with lazy writeback cache.  Add the following 
  19976.                  to your CONFIG.SYS file and reboot your computer:
  19977.               
  19978.                  
  19979.               
  19980.                  DEVICE=C:\OS2\VDISK.SYS   i   j   k
  19981.               
  19982.                  
  19983.               
  19984.                  where,
  19985.               
  19986.                  i = the total Kbytes of memory for the RAM drive
  19987.               
  19988.                  j = the sector size for the RAM drive (usually 512)
  19989.               
  19990.                  k = the number of root directory entries (usually 256)
  19991.               
  19992.                  Once you have the RAM drive configured, there are three ways that you can use it to improve 
  19993.                  performance.  
  19994.               
  19995.                  The first technique is to use the "VDISKn" parameter on the command line when you start the 
  19996.                  BBS.  The "n" refers to the RAM disk drive letter.  If your RAM drive is drive D:, then your system 
  19997.                  start-up command line might look like:
  19998.               
  19999.                  
  20000.               
  20001.                  BBS2 ALL VDISKD
  20002.               
  20003.                  
  20004.               
  20005.                  When Bulletron initializes, it copies all the messages from your "utilities" sub-board to a 
  20006.                  temporary file called TEMPHELP.DAT on the RAM drive.  All references to menus, help files, 
  20007.                  questionnaires, logos, ansi graphics, board introductions, prompts, message-of-the-day, and anything 
  20008.                  else from the help file will be read from the RAM drive at memory speed.  This will reduce the amount 
  20009.                  of hard disk activity and improve performance, but there is one drawback.  The help files are copied 
  20010.                  when the system is initialized, right after the 3:00 AM system purge, and when the sysop forces the 
  20011.                  RAM drive to be refreshed with the "PXR" command ("PXR" is also discussed under the "Extended 
  20012.                  System Parameters" installation).  If you change a questionnaire, menu, or any of the messages on the 
  20013.                  "utilities" sub-board, you are actually changing the copy of the message on the hard disk, NOT THE 
  20014.                  COPY ON THE RAM DRIVE.  This means that, after changing the menu, the new menu will not 
  20015.                  display since the new menu is on the hard disk, not the RAM drive.
  20016.               
  20017.                  When Bulletron is brought down, TEMPHELP.DAT and TEMPHELP.IDX remain on the RAM 
  20018.                  drive.  Doing a DIR on the RAM drive shows you how much additional space is remaining on that 
  20019.                  drive.  You can also do a DIR BB*.IDX to see how much space all the index files require.  If there is 
  20020.                  enough space on the RAM drive to hold the index files as well as the temporary help files, then the 
  20021.                  index files can also be put on the RAM drive to improve performance even more.  YOU SHOULD 
  20022.                  NOT PUT ANY BB*.DAT FILES ON THE RAM DRIVE SINCE YOU WILL LOSE DATA IF YOU 
  20023.                  HAVE A POWER FAILURE OR IF THE SYSTEM CRASHES.  If you have a power failure or the 
  20024.                  system crashes, however, you will have to rebuild the index files anyway.  So if they are lost because 
  20025.                  they were on the RAM drive, then you have not lost any data or time.  Note, however, that you MUST 
  20026.                  delete the hard disk copies of the index files so there is no way to use an old index file with an updated 
  20027.                  data file.  Rebuilding as a precaution is a good idea and will not take much time if no rebuild is 
  20028.                  necessary.  A .CMD file to do this correctly for a RAM disk on drive D: might be as follows:
  20029.               
  20030.                  
  20031.               
  20032.                  COPY BBSFILE9.HD BBSFILE9.DAT
  20033.               
  20034.                  REBUILD2
  20035.               
  20036.                  COPY BB*.IDX D:
  20037.  
  20038.               
  20039.  
  20040.  
  20041.  
  20042.  
  20043.  
  20044.               
  20045.                  DEL BB*.IDX
  20046.               
  20047.                  COPY D:BBDATBAS.IDX C:
  20048.               
  20049.                  COPY BBSFILE9.RAM BBSFILE9.DAT
  20050.               
  20051.                  BBS2 ALL VDISKD
  20052.               
  20053.                  COPY D:BB*.IDX C:
  20054.               
  20055.                  COPY BBSFILE9.HD BBSFILE9.DAT
  20056.               
  20057.                  
  20058.               
  20059.                  IMPORTANT:  to notify Bulletron that index files are on a different drive, you must modify 
  20060.                  BBSFILE9.DAT.  This file is a simple ASCII file which can be modified with any text editor.  Change 
  20061.                  the file names on all those files with extension .IDX to be preceded by the drive letter of the ram drive.  
  20062.                  First, type out the file and take a look at it by entering:
  20063.               
  20064.                  
  20065.               
  20066.                  TYPE BBSFILE9.DAT
  20067.               
  20068.                  
  20069.               
  20070.                  Make two copies of BBSFILE9.DAT.  Copy BBSFILE9.DAT to BBSFILE9.HD and 
  20071.                  BBSFILE9.RAM.  Modify BBSFILE9.RAM so that the file names of the index files include the RAM 
  20072.                  disk drive letter.  Change the file names such as BBUSERS.IDX to D:BBUSERS.IDX if D: is the 
  20073.                  RAM drive.  Do not change BBSFILE9.HD so that the file names of the index files will include the 
  20074.                  hard disk drive  letter.
  20075.               
  20076.               
  20077.  
  20078.  
  20079.  
  20080.  
  20081.  
  20082.               G.   Appendix G - Recommended Extended Serial Card Setups
  20083.               
  20084.                    G.1.Digiboard PC/8 Recommended Installation
  20085.               
  20086.                  The Digiboard PC/8 card provides the system with eight non-intelligent serial ports.  With a 
  20087.                  minimal CPU (40 MHz 386DX), this card can be expected to support eight modems at 2400 Baud, or 
  20088.                  about 4 - 5 modems at 9600 Baud with no performance degradation. The default settings, as shipped 
  20089.                  from the factory can be used, provided that you do not have a standard "COM2" device, or any other 
  20090.                  device that uses IRQ3 installed.  To permit a standard "COM2" device to be used in the same PC as the 
  20091.                  PC/8 card, we recommend setting the card to use IRQ5 rather than IRQ3.  The jumpers and DIP 
  20092.                  switches should be set as follows:
  20093.               
  20094.                  
  20095.               
  20096.                  J1 - pins 1,2     (1st port uses odd IRQ set)
  20097.               
  20098.                  J2 - pins 1,2     (2nd port uses odd IRQ set)
  20099.               
  20100.                  J3 - pins 1,2     (3rd port uses odd IRQ set)
  20101.               
  20102.                  J4 - pins 1,2     (4th port uses odd IRQ set)
  20103.               
  20104.                  J5 - pins 1,2     (5th port uses odd IRQ set)
  20105.               
  20106.                  J6 - pins 1,2     (6th port uses odd IRQ set)
  20107.               
  20108.                  J7 - pins 1,2     (7th port uses odd IRQ set)
  20109.               
  20110.                  J8 - pins 1,2     (8th port uses odd IRQ set)
  20111.               
  20112.                  
  20113.               
  20114.                  J9 - pins 2,3     (card address is 00)
  20115.               
  20116.                  J10 - pins 2,3
  20117.               
  20118.                  
  20119.               
  20120.                  J85 - open        (IRQ3 disabled)
  20121.               
  20122.                  J86 - shorted     (IRQ5 enabled)
  20123.               
  20124.                  J87 - open        (IRQ7 disabled)
  20125.               
  20126.                  J88 - open        (IRQ6 disabled)
  20127.               
  20128.                  J89 - open        (IRQ4 disabled)
  20129.               
  20130.                  J90 - open        (IRQ2 disabled)
  20131.               
  20132.                  
  20133.               
  20134.                  P2 - short middle 2 pins (odd IRQ chain terminated)
  20135.               
  20136.                  P3 - short middle 2 pins (even IRQ chain terminated)
  20137.               
  20138.                  
  20139.               
  20140.                  DS1 - 1010 1111 11 (status port enabled at 140H)
  20141.               
  20142.                  DS2 - 1011 1111    (1st port enabled at 100H)
  20143.               
  20144.                  DS3 - 1011 1101    (2nd port enabled at 108H)
  20145.               
  20146.                  DS4 - 1011 1011    (3rd port enabled at 110H)
  20147.               
  20148.  
  20149.               
  20150.  
  20151.  
  20152.  
  20153.  
  20154.  
  20155.                  DS5 - 1011 1001    (4th port enabled at 118H)
  20156.               
  20157.                  DS6 - 1011 0111    (5th port enabled at 120H)
  20158.               
  20159.                  DS7 - 1011 0101    (6th port enabled at 128H)
  20160.               
  20161.                  DS8 - 1011 0011    (7th port enabled at 130H)
  20162.               
  20163.                  DS9 - 1011 0001    (8th port enabled at 138H)
  20164.               
  20165.                  The driver installation line in your CONFIG.SYS file (assuming that you placed the driver in the 
  20166.                  "C:\DIGI\" directory) should be:
  20167.               
  20168.                  
  20169.               
  20170.                  DEVICE=C:\DIGI\DGX.SYS /N:5 /P:140 /I:5
  20171.               
  20172.                  
  20173.               
  20174.                  You should place this line right after the line that installs the COM.SYS driver, or at the end of 
  20175.                  the CONFIG.SYS file if you are not using COM.SYS.
  20176.               
  20177.                  Installing a second PC/8 card gets a little more tricky, since you will be just about of free IRQs at 
  20178.                  this point.  Because the PC/8 card lacks the second foot of the ISA bus, which contains the signals for 
  20179.                  IRQ9 through IRQ15, you must select an IRQ between IRQ0 and IRQ7.  The standard usages for 
  20180.                  IRQ0 through IRQ7 on an ISA bus are:
  20181.               
  20182.                  IRQ0 - Timer 0 Output (This is what makes the speaker beep, and is built into your motherboard 
  20183.                  and you can't disable it.)
  20184.               
  20185.                  IRQ1 - Keyboard (This, also, is built into your motherboard and you can't disable it.)
  20186.               
  20187.                  IRQ2 - Cascade from IRQ9 through IRQ15 (This, also, is built into your motherboard and you 
  20188.                  can't disable it.)
  20189.               
  20190.                  IRQ3 - COM2 (You can free up this IRQ by taking out your standard COM2 port.)
  20191.               
  20192.                  IRQ4 - COM1 (You can free up this IRQ by taking out your standard COM1 port.)
  20193.               
  20194.                  IRQ5 - LPT2 (This is seldom used, but we already used it for the first PC/8 card, above.)
  20195.               
  20196.                  IRQ6 - Floppy Disk Controller (You can't free this one up because you can't boot your computer 
  20197.                  if you take out the floppy disk controller.)
  20198.               
  20199.                  IRQ7 - LPT1 (You can free up this IRQ by taking out your LPT1 port.)
  20200.               
  20201.                  Assuming that you will want to keep a printer on your computer, and a standard COM1 port to 
  20202.                  support a serial mouse, the  most logical choice is to remove, or completely disable, the COM2 port 
  20203.                  and use IRQ3 for the second PC/8 card.  The DIP switches and jumpers on the second PC/8 card 
  20204.                  should be set as follows:
  20205.               
  20206.                  
  20207.               
  20208.                  J1 - pins 1,2     (1st port uses odd IRQ set)
  20209.               
  20210.                  J2 - pins 1,2     (2nd port uses odd IRQ set)
  20211.               
  20212.                  J3 - pins 1,2     (3rd port uses odd IRQ set)
  20213.               
  20214.                  J4 - pins 1,2     (4th port uses odd IRQ set)
  20215.               
  20216.                  J5 - pins 1,2     (5th port uses odd IRQ set)
  20217.               
  20218.                  J6 - pins 1,2     (6th port uses odd IRQ set)
  20219.               
  20220.                  J7 - pins 1,2     (7th port uses odd IRQ set)
  20221.  
  20222.               
  20223.  
  20224.  
  20225.  
  20226.  
  20227.  
  20228.               
  20229.                  J8 - pins 1,2     (8th port uses odd IRQ set)
  20230.               
  20231.                  
  20232.               
  20233.                  J9 - pins 2,3     (card address is 00)
  20234.               
  20235.                  J10 - pins 2,3
  20236.               
  20237.                  
  20238.               
  20239.                  J85 - shorted     (IRQ3 enabled)
  20240.               
  20241.                  J86 - open        (IRQ5 disabled)
  20242.               
  20243.                  J87 - open        (IRQ7 disabled)
  20244.               
  20245.                  J88 - open        (IRQ6 disabled)
  20246.               
  20247.                  J89 - open        (IRQ4 disabled)
  20248.               
  20249.                  J90 - open        (IRQ2 disabled)
  20250.               
  20251.                  
  20252.               
  20253.                  P2 - short middle 2 pins (odd IRQ chain terminated)
  20254.               
  20255.                  P3 - short middle 2 pins (even IRQ chain terminated)
  20256.               
  20257.                  
  20258.               
  20259.                  DS1 - 1001 1101 11 (status port enabled at 188H)
  20260.               
  20261.                  DS2 - 1010 1101    (1st port enabled at 148H)
  20262.               
  20263.                  DS3 - 1010 1011    (2nd port enabled at 150H)
  20264.               
  20265.                  DS4 - 1010 1001    (3rd port enabled at 158H)
  20266.               
  20267.                  DS5 - 1010 0111    (4th port enabled at 160H)
  20268.               
  20269.                  DS6 - 1010 0101    (5th port enabled at 168H)
  20270.               
  20271.                  DS7 - 1010 0011    (6th port enabled at 170H)
  20272.               
  20273.                  DS8 - 1010 0001    (7th port enabled at 178H)
  20274.               
  20275.                  DS9 - 1001 1111    (8th port enabled at 180H)
  20276.               
  20277.                  
  20278.               
  20279.                  The driver installation line for two PC/8 cards in this configuration would be:
  20280.               
  20281.                  
  20282.               
  20283.                  DEVICE=C:\DIGI\DGX.SYS /N:5 /P:140 /I:5, /P:188 /I:3
  20284.               
  20285.                  
  20286.               
  20287.                  If you plan to operate above 2400 Baud, attempting to use more that 16 non-intelligent ports will 
  20288.                  probably not work because your computer will be "swamped" with interrupts.  If you do desire to 
  20289.                  install three or more PC/8 cards, you must find different IRQ  numbers between 0 and 7 for them, 
  20290.                  because the DGX.SYS driver does not support the chaining of interrupts using the P2 and P3 jumpers.  
  20291.                  Some IRQ numbers can never be used, because they are reserved for system functions.  These are:
  20292.               
  20293.                  IRQ 0 - Timer Zero Output.  This is the "timer tick" interrupt that the operating system uses for 
  20294.  
  20295.               
  20296.  
  20297.  
  20298.  
  20299.  
  20300.  
  20301.                  its real-time clock function and time-slicing.
  20302.               
  20303.                  IRQ 1 - Keyboard Input.  This interrupt tells the computer when you type a key at the console 
  20304.                  keyboard.
  20305.               
  20306.                  IRQ 2 - Interrupt Controller 2 Cascade.  This interrupt is used to daisy-chain to IRQs 8 through 
  20307.                  15.
  20308.               
  20309.                  IRQ 6 - Diskette Controller.  This interrupt tells the computer when your floppy disk controller 
  20310.                  finishes an operation.
  20311.               
  20312.                  Thus, the only IRQs available for use with PC/8 cards are 3, 4, 5 and 7.  If you install four PC/8 
  20313.                  cards you must give up your standard COM1, standard COM2, LPT1 and LPT2 devices.  You, most 
  20314.                  likely, will not be able to use a mouse or trackball, as most of these devices require an IRQ between 0 
  20315.                  and 7 and there will be none available.
  20316.               
  20317.                    G.2.Digiboard PC/xi Recommended Installation
  20318.               
  20319.                  The recommended setup for a Digiboard PC/xi card will vary, depending on how much RAM 
  20320.                  you have installed in your system.  This card uses a dual-ported RAM, whose size may be 64 Kbytes, 
  20321.                  128 Kbytes, 256 Kbytes or 512 Kbytes.  An ISA bus can only access 16 Mbytes of RAM.  If you have 
  20322.                  16 Mbytes of RAM installed, then you will have to fit the dual-ported RAM into the space between 
  20323.                  640K and 1 Mbyte.  If you have 15 Mbytes of RAM, or less, then it is easiest to put the dual-ported 
  20324.                  RAM between 15 Mbytes and 16 Mbytes.
  20325.               
  20326.                  In the first case, let us assume that you have 8 mbytes of RAM installed.  You will want to put 
  20327.                  the dual-ported RAM at an address that is 512K shy of 16 Mbytes, at F80000H.  This allows you to 
  20328.                  expand the size of the dual-ported RAM to the full 512K later on, if you desire.  The DIP switches and 
  20329.                  jumpers for the PC/xi card should be set as follows:  
  20330.               
  20331.                  J1 - pins 2,3  (If you upgrade the card's local program memory from 16K to 64K, then you will 
  20332.                  move J1 to pins 1,2.)
  20333.               
  20334.                  J2 and J3 - pins 2,3 (If you upgrade the size of the dual-ported RAM from 64K to 128K, 256K or 
  20335.                  512K, then you will change these.)
  20336.               
  20337.                  DS1 - 1110 0000 001 (This sets the address of the dual-ported RAM to F80000H, and the I/O 
  20338.                  port to 200H.  200H is normally the address of the second joystick adapter, which is seldom installed.)
  20339.               
  20340.                  DS2 - 0000 0000 (The OS/2 device driver for the PC/xi uses no IRQ.)
  20341.               
  20342.                  The driver installation line in your CONFIG.SYS file (assuming that you placed the driver in the 
  20343.                  "C:\DIGI\" directory) should be:
  20344.               
  20345.                  
  20346.               
  20347.                  DEVICE=C:\DIGI\XALL.SYS /N:5 /P:200 /M:F80000
  20348.               
  20349.                  
  20350.               
  20351.                  You should place this line right after the line that installs the COM.SYS driver, or at the end of 
  20352.                  the CONFIG.SYS file if you are  not using COM.SYS.
  20353.               
  20354.                  If you DO have 16 Mbytes of RAM installed, then you MUST put the dual-ported RAM for the 
  20355.                  PC/xi card between 640K and 1 Mbyte.  You will never be able to expand the dual-ported RAM 
  20356.                  beyond 128  Kbytes.  In many cases, you will be limited to no more than 64 Kbytes of dual-ported 
  20357.                  RAM because there will be other devices occupying memory between 640K and 1 Mbyte in your 
  20358.                  computer.  For systems having 16 Mbytes of RAM, the recommended configuration for the PC/xi card 
  20359.                  is:
  20360.               
  20361.                  J1 - pins 2,3  (If you upgrade the card's local program memory from 16K to 64K, then you will 
  20362.                  move J1 to pins 1,2.)
  20363.               
  20364.                  J2 - pins 2,3
  20365.               
  20366.                  J3 - pins 2,3 (If you upgrade the size of the dual-ported RAM from 64K to 128K, then you will 
  20367.  
  20368.               
  20369.  
  20370.  
  20371.  
  20372.  
  20373.  
  20374.                  move this jumper to pins 1,2.)
  20375.               
  20376.                  DS1 - 0100 1111 001 (This sets the address of the dual-ported RAM to 0D0000H, and the I/O 
  20377.                  port to 200H.  200H is normally the address of the second joystick adapter, which is seldom installed.  
  20378.                  If you upgrade the dual-ported RAM to 128K, then you will change the RAM address to 0C0000H, 
  20379.                  and change your VGA card to a CGA or monochrome card.)
  20380.               
  20381.                  DS2 - 0000 0000 (The OS/2 device driver for the PC/xi uses no IRQ.)
  20382.               
  20383.                  The driver installation line for the PC/xi card in this configuration would be:
  20384.               
  20385.                  
  20386.               
  20387.                  DEVICE=C:\DIGI\XALL.SYS /N:5 /P:200 /M:D0000
  20388.               
  20389.                  
  20390.               
  20391.                  or
  20392.               
  20393.                  
  20394.               
  20395.                  DEVICE=C:\DIGI\XALL.SYS /N:5 /P:200 /M:C0000
  20396.               
  20397.                  
  20398.               
  20399.                  if you take out your VGA card and upgrade the dual-ported RAM to 128 Kbytes.
  20400.               
  20401.                    G.3.Digiboard COM/xi Recommended Installation
  20402.               
  20403.                  The Digiboard COM/xi card has 256 Kbytes of on-board RAM, which is accessed through a 
  20404.                  32K window that must be located between 640K and 1 Mbyte.  The recommended installation for 
  20405.                  OS/2 is:
  20406.               
  20407.                  J2 - pins 1,2     (This sets the I/O port address to 200H,
  20408.               
  20409.                  J3 - pins 2,3      which is normally reserved for the second
  20410.               
  20411.                  J4 - pins 2,3      joystick adapter.)
  20412.               
  20413.                  J5 through J14 - all open  (The OS/2 device driver for the COM/xi card does not use an IRQ.)
  20414.               
  20415.                  J15 - pins 1,2    (This sets the dual-ported RAM address toJ16 - pins 2,3 0D0000H.)
  20416.               
  20417.                  J17 - pins 2,3
  20418.               
  20419.                  The driver installation line in your CONFIG.SYS file (assuming that you placed the driver in the 
  20420.                  "C:\DIGI\" directory) should be:
  20421.               
  20422.                  
  20423.               
  20424.                  DEVICE=C:\DIGI\XALL.SYS /N:5 /T:x /P:200 /M:F80000
  20425.               
  20426.                  
  20427.               
  20428.                  You should place this line right after the line that installs the COM.SYS driver, or at the end of 
  20429.                  the CONFIG.SYS file if you are not using COM.SYS.
  20430.               
  20431.                    G.4.Digiboard C/X Recommended Installation
  20432.               
  20433.                  A Digiboard C/X card may be configured in many ways, to provide an OS/2 system with, from 
  20434.                  16, to 128 serial ports.  The OS/2 device driver configures most of the operating parameters for the C/X 
  20435.                  card(s) in your system.  The only DIP switches and jumpers that you need to set up are those for 
  20436.                  defining the card's I/O port address.  Because you will most likely have 16 Mbytes of RAM installed 
  20437.                  before you consider using this card, you will want to put its dual-ported RAM at address 0D0000H.  
  20438.                  The following DIP switch and jumper settings should work in most systems:
  20439.               
  20440.  
  20441.               
  20442.  
  20443.  
  20444.  
  20445.  
  20446.  
  20447.                  J1 - pins 1,2 (This jumper is reserved for use by Digiboard.  Do not change it.)
  20448.               
  20449.                  J2 - pins 2,3 (Change this to pins 1,2 if you want to use  the RAM at 8 MHz instead of 10 MHz.)
  20450.               
  20451.                  J3 - pins 1,2 (This disables memory refresh for the C/X card.)
  20452.               
  20453.                  DS1 - 1111 (Use I/O port address 328H and 16-bit  mode.)
  20454.               
  20455.                  The driver installation line for a C/X card, in its minimum onfiguration, with one 16-port 
  20456.                  concentrator on RS-422 line 1,would be:
  20457.               
  20458.                  
  20459.               
  20460.                  DEVICE=C:\DIGI\XALL.SYS /N:5 /T:I10 /P:328 /M:D0000
  20461.               
  20462.                  
  20463.               
  20464.                  In the maximum configuration, with four 16-port concentrators, on each of the two RS-422 lines, 
  20465.                  for a total of 128 serial ports, the device driver installation line would be:
  20466.               
  20467.                  
  20468.               
  20469.                  DEVICE=C:\DIGI\XALL.SYS /N:5 /T:I44 /P:328 /M:D0000
  20470.               
  20471.                  
  20472.               
  20473.                    G.5.Digiboard PC/Xem Recommended Installation
  20474.               
  20475.                  The Digiboard PC/Xem system is currently the highest performance serial port subsystem that 
  20476.                  Digiboard makes.  The OS/2 device driver configures most of the operating parameters for the PC/Xem 
  20477.                  card(s) in your system.  The only DIP switches and jumpers that you need to set up are those for 
  20478.                  defining the card's I/O port address.  Because you will most likely have 16 Mbytes of RAM installed 
  20479.                  before you consider using this card, you will want to put its dual-ported RAM at address 0D0000H.  
  20480.                  The following DIP switch and jumper settings should work in most systems:
  20481.               
  20482.                  DS1 - 1111 (Use I/O port address 328H and 16-bit mode.)
  20483.               
  20484.                  The driver installation line for a PC/Xem card would be:
  20485.               
  20486.                  
  20487.               
  20488.                  DEVICE=C:\DIGI\XALL.SYS /N:5 /T:p /P:328 /M:D000
  20489.               
  20490.                  
  20491.      
  20492.               
  20493.               
  20494.  
  20495.  
  20496.  
  20497.  
  20498.  
  20499.               
  20500.