6CB Rich Levin's BBSX (tm) Personal Electronic Bulletin Board System for the IBM PC, XT, AT, PS/2 and IBM-compatible computers Version 2.00.A Series Installation and Configuration Guide Copyright (c) 1988-1990 Richard B. Levin All Rights Reserved ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ³ ³ ÛÛ ÛÛÛ ÛÛÛ ÛÛ ÛÛ ÛÛ ³ ³ ÛÛ Û ÛÛÛ Û ÛÛÛ ÛÛÛÛÛÛ ÛÛ ³ ´ ÛÛ ÛÛ ÛÛ ÛÛÛÛ ÛÛÛÛ Ã ³ ÛÛ Û ÛÛ Û ÛÛÛÛÛÛ ÛÛ ÛÛ ³ ³ ÛÛ ÛÛ ÛÛ ÛÛ ÛÛ ÛÛ ³ ³ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ³ ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ; The Personal BBS (tm) This is not free software. You are granted a limited license to evaluate this program for ten days in your home or office. If you continue to use this program, you must register with the author. Registration fees are $20.00 per copy for home users and $40.00 per copy for non-home users. A deluxe edition is available to all users for $60.00. If you purchased BBSX through a retail outlet, send a copy of your dated sales receipt in lieu of a registration fee. Remit registration fees and sales receipts to Richard B. Levin, P.O. Box 14546, Phila., PA 19115 using the REGISTER.DOC form included in the BBSX distribution archive. BBSX is published by Richard B. Levin 9405 Bustleton Ave. P.O. Box 14546 Phila., PA 19115 Lab: (215) 333-8274 BBS: (215) 333-8275 CompuServe: 72407,243 GEnie: R.LEVIN Corporate support: Inquire for details Site licenses and quantity discounts available. Dealers and consultants protected. Call or write for details. Thank you for using BBSX. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Table of Contents ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ COPYRIGHT NOTICE...........................................1 SOFTWARE LICENSE...........................................1 DISTRIBUTION POLICY........................................2 UPGRADE POLICY.............................................2 REGISTRATION FORM..........................................4 DEDICATION.................................................6 BBSX - THE PERSONAL BBS (tm)...............................6 WHAT'S NEW IN THIS RELEASE (A Brief BBSX Update History)...6 v.2.16.A...............................................6 v.1.33.H..............................................10 v.1.33.A..............................................11 v.1.25.A..............................................11 v.1.15.B..............................................11 v.1.14.A..............................................11 v.1.13.J..............................................11 MINIMUM HARDWARE AND SOFTWARE REQUIREMENTS................12 INSTALLING BBSX...........................................12 CONFIGURING BBSX..........................................12 STEP 1 - Editing the BBSX.INI file....................14 BAUD_RATE=....................................15 CARRIER_DETECT_TIMER=.........................15 COM_PORT=.....................................15 DOWNLOAD_UPLOAD_RATIO=........................15 MESSAGE_LINES=................................15 MESSAGE_SCROLL_RATE=..........................15 MODEM_INI=....................................17 MODEM_TIMER=..................................17 NEW_USER_ACCESS=..............................17 NEW_USER_SECURITY=............................17 NODE_LOG_BUFFER=..............................18 SECURITY_TO_DOWNLOAD=.........................18 SECURITY_TO_OPEN_DOORS=.......................18 SECURITY_TO_READ=.............................18 SECURITY_TO_UPLOAD=...........................18 SECURITY_TO_WRITE=............................18 SYSOP=........................................18 SYSOP_DOS_PASSWORD=...........................19 UPLOAD_PATH=..................................19 General information about BBSX.INI................19 STEP 2 - Editing the GROUP.INI file...................20 GROUP_SECURITY=...............................21 GROUP_PASSWORD=...............................21 GROUP_NAME=...................................21 GROUP_FILENAME=...............................22 END_OF_GROUPS=Y...............................22 General information about GROUP.INI...............22 Examples of GROUP.INI files.......................23 STEP 3 - Editing the FILES.INI file...................27 FILES_SECURITY=...............................28 FILES_PASSWORD=...............................29 FILES_AREA=...................................29 FILES_PATH=...................................29 END_OF_FILES=Y................................29 General information about FILES.INI...............30 Examples of FILES.INI files.......................30 STEP 4 - Storing the PROTOCOL.INI file................35 General information about PROTOCOL.INI............35 STEP 5 - Editing the BBS.BAT file.....................36 BBSX's optional start-up switches.................36 /BL[OCK]......................................36 /CA[NADA].....................................36 /CO[LOR]......................................37 /DA[SH].......................................37 /DE[BUG]......................................37 /DL[ALL]......................................37 /DO[WN].......................................37 /E7[1]........................................37 /ER[RORLOG]...................................37 /FL[ASH]......................................38 /HA[LF].......................................38 /IG[NOREDCD]..................................38 /LP[TLOG].....................................38 /MO[NO].......................................38 /NO[LOG]......................................38 /NU[LLMODEM]..................................38 /OP[TIMIZE]...................................38 /PU[BLIC].....................................39 /RA[TIOFREE]..................................39 /RU[N]........................................39 /S2=###.......................................39 /SK[IPATZ]....................................39 /SO[LID]......................................39 /ST[ACK]:#####................................39 /TH[IN].......................................39 General information about BBS.BAT.................39 STEP 6 - Editing the DAILY.BAT file...................41 General information about DAILY.BAT...............42 STEP 7 - Editing the DOS.BAT file.....................43 General information about DOS.BAT.................44 STEP 8 - Storing the FTX.BAT file.....................47 General information about FTX.BAT.................47 STEP 9 - Editing the MENU.BLT file....................48 Controlling .BLT file output......................49 ~F - the "Force-read" command.................50 ~N - the "Non-stop" command...................50 ~P - the "Pause" command......................51 ~S - the "Stop" command.......................51 General information about MENU.BLT................52 STEP 10 - Editing the system .BLT files...............52 DATE####.BLT..................................53 DAY##.BLT.....................................53 DOWN.BLT......................................53 DOWNLOAD.BLT..................................53 FILES.BLT.....................................53 GOODBYE.BLT...................................53 HELLO.BLT.....................................54 HOUR##.BLT....................................54 LEVEL###.BLT..................................54 LOGIN.BLT.....................................54 MENU.BLT......................................54 MESSAGES.BLT..................................54 MONTH##.BLT...................................55 NEWS.BLT......................................55 NEWUSER.BLT...................................55 PRIVATE.BLT...................................55 UPLOAD.BLT....................................55 General information about system .BLT files.......55 STEP 11 - Editing the MENU.POL file...................56 Controlling .POL file output......................57 ~? - the "Input" command......................57 ~F - the "Force-read" command.................58 ~N - the "Non-stop" command...................58 ~P - the "Pause" command......................59 ~S - the "Stop" command.......................59 General information about MENU.POL................60 STEP 12 - Installing yourself as a SysOp..............60 STEP 13 - Going on-line...............................62 LEARNING TO USE BBSX......................................63 REQUIRED MODEM DIP-SWITCH SETTINGS........................63 External modems.......................................63 Internal modems.......................................64 General information about modem DIP-switch settings...64 BBSX'S F-KEY ASSIGNMENTS..................................66 HOW TO....................................................67 Create or Convert File Description Files..............67 Use Another Disk or Subdirectory Name.................68 Use COM3 and COM4.....................................69 WHAT TO DO IF.............................................69 File Transfers Bomb...................................69 The Modem Hangs Up on Callers.........................69 The Modem Speaker Won't Shut-Up.......................69 The Modem Takes the Phone Off-Hook....................69 The Modem Won't Hang Up...............................69 The System Hangs During Drops-To-DOS..................69 ERROR CODES AND EXPLANATIONS..............................70 Endless loop error....................................70 Bad command or file name..............................70 Bad file name.........................................70 Bad file name or number...............................70 Bad FILES_PATH in BBSX.INI or FILES.INI...............70 Bad or outdated [filename].HDR........................70 Bad or outdated USER.LOG..............................70 BBSX.INI file not found...............................71 Call synchronization error............................71 Communication-buffer overflow.........................71 Device fault..........................................71 Device timeout........................................71 Disk media error......................................71 Disk not ready........................................71 Device I/O error......................................72 Device unavailable....................................72 Disk full.............................................73 File contains 0 bytes.................................73 File not found........................................73 Illegal function call.................................73 Out of environment space..............................73 Out of memory.........................................74 Out of paper..........................................74 Out of stack space....................................74 Out of string space...................................74 Path/File access error................................75 Path not found........................................75 Permission denied.....................................75 /SYSOP switch active..................................75 Too many files........................................75 Too many response lines allocated in [ *.POL ]........75 [ . . . ] command failed..............................75 Loop error............................................76 FATAL ERRORS..............................................76 APPENDIX A - FILE TRANSFER TECHNICAL REFERENCE............77 Editing the FTX.BAT file..............................77 Editing the PROTOCOL.INI file.........................81 PROTOCOL_NAME=................................81 PROTOCOL_CODE=................................82 END_OF_PROTOCOLS=Y............................82 APPENDIX B - INSTALLING DOORS TO EXTERNAL PROGRAMS........82 Editing the DOORS.INI file............................82 DOORS_SECURITY=...............................83 DOORS_PASSWORD=...............................84 DOORS_NAME=...................................84 DOORS_CODE=...................................84 END_OF_DOORS=Y................................84 General information about DOORS.INI...............85 Examples of DOORS.INI files.......................85 Editing the DOORS.BAT file............................90 General information about DOORS.BAT...............93 Examples of DOORS.BAT files.......................94 1 COPYRIGHT NOTICE The name "BBSX" and the BBSX program, documentation, BBSX-created input and output files, visual displays, interface, look and feel ("the BBSX system") are copyright (c) and trademark (tm) 1988-1990 Richard B. Levin ("the author"), all rights reserved. The BBSX system is protected by United States Copyright Law (Title 17 United States Code). Unauthorized modification, reproduction, duplication, transfer or sales may result in imprisonment of up to one year and fines of up to $10,000.00 (17 USC 506). Copyright infringers may also be subject to civil liability. The Federal Bureau of Investigation investigates allegations of criminal copyright infringement. SOFTWARE LICENSE Please read the terms and conditions of this software license before using the BBSX system. This license is effective from the day you first run the BBSX system and remains in effect for as long as you possess, in whole or in part, a copy the BBSX system. By using the BBSX system, you agree to honor the terms and conditions of this license. The BBSX system is the sole and exclusive property of Richard B. Levin ("the author") and is provided to you without warranty of any kind, either express or implied. The entire risk as to the results and performance of the BBSX system is assumed by you. Should the BBSX system prove defective, ineffective or unsatisfactory, you (and not the author) assume the entire cost of repair or replacement to damaged or unusable hardware or software. The author is not liable for any damages incurred by you or any other party through the use or misuse of the BBSX system. You are granted a limited license to use and evaluate unregistered copies of the BBSX system on a single computer for a period of ten days, beginning with the date you first acquired the BBSX system. If you continue to use the BBSX system after the expiration of the ten day evaluation period, you must register with the author by following the instructions contained in the accompanying REGISTER.DOC file. 2 Registered users of the BBSX system are granted the non-exclusive right to use the BBSX system in accordance with this license. Each registered copy of the BBSX system is licensed for use on a single computer. Registered users may transfer the BBSX system from one computer to another provided the BBSX system is in use on only one computer at a time. You must separately register every copy of the BBSX system used on non-registered computers. Failure to register copies of the BBSX system used on non-registered computers is a violation of this license and United States Copyright Law. You are permitted to copy and distribute copies of the BBSX system to other users through any legal means available to you, provided such copies conform to the terms, conditions and spirit of the author's "Distribution Policy," presented below. Registered users are permitted to make archival back-up copies of the BBSX system. You are not permitted to de-compile, disassemble, make changes to, reverse engineer or create derivative works of the BBSX system in any way whatsoever, nor are you permitted to attempt to de-compile, disassemble, make changes to, reverse engineer or create derivative works of the BBSX system. This license is non-transferable. Any violation of this license or attempt to assign, sub-license or transfer same, except as provided for herein, renders this license null and void. The author reserves the right to make changes to this license and to the BBSX system at any time without prior notice. This license is governed by the laws of the Commonwealth of Pennsylvania and the United States of America. Terms or conditions of this license found to be unenforceable or illegal will not effect the remaining license terms and conditions. DISTRIBUTION POLICY You are permitted to distribute copies of the BBSX system to other users when the following conditions are met: 1. The BBSX system must be distributed in its entirety, as originally produced by the author. 2. No part of the BBSX system may be altered, added to, removed, re-archived or modified in any way whatsoever. 3. The BBSX system must not be sold by anyone other than the author or authorized representatives of the author. UPGRADE POLICY 3 The latest edition of BBSX is stored on the Mother Board BBS (215-333-8275) in the "Software by Rich Levin" area and may be downloaded, free of charge, at any time. Upgrades are also regularly posted to the IBMNET\IBMBBS Forum on the CompuServe Information Service (GO IBMBBS) and the IBM and BBS RoundTables (RTs; IBM or BBS) on the General Electric Network for Information Exchange (GEnie). Upgrades are also available by mail to registered users. Send a blank, formatted, IBM-compatible 360k, 720k or 1.44mb diskette; a postage-paid, pre-addressed disk mailer and your check or money order (drawn on a U.S. bank or financial institution and made payable to "Richard B. Levin") in the amount of $10.00 per copy for home users and $20.00 per copy for non-home users to: BBSX Upgrade P.O. Box 14546 Phila., PA 19115 4 REGISTRATION FORM Please print, complete and mail this form within ten days to: Richard B. Levin BBSX Registration P.O. Box 14546 Phila., PA 19115 Home users: Enclose payment in the amount of $20.00 per copy Non-home users: Enclose payment in the amount of $40.00 per copy All users: Enclose payment in the amount of $60.00 per copy if you would like to receive the "deluxe" (printed and bound) edition of the BBSX documentation. Please have checks and money orders drawn on a U.S bank or financial institution and made payable to "Richard B. Levin." Purchase orders are accepted on a net terms basis, with approved credit and a minimum initial purchase of $500.00. Orders are shipped insured, freight collect. Quantity pricing, site licenses and other information available on request. Prices subject to change without notice. Registered owner's name: _________________________________________________________________ Title: _________________________________________________________ Department: ____________________________________________________ Company: _________________________________________________________________ Address: _________________________________________________________________ _________________________________________________________________ City, State and Zip: _________________________________________________________________ 5 Home telephone number: ( ) - Work telephone number: ( ) - BBS telephone number: ( ) - What is the name of your board? _________________________________________________________________ Comments: ______________________________________________________ _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ Total number of unregistered computers running BBSX: ________ Amount enclosed (check all that apply): [ ] Home user @ $20.00 per copy: $_____________ [ ] Non-home user @ $40.00 per copy: $_____________ [ ] Deluxe edition @ $60.00 per copy: $_____________ Sign here: _____________________________________________________ 6 DEDICATION BBSX is dedicated to my wife, Carol and to my daughter, Rachel; to the Mother Board BBS' regular callers (you know who you are), to the BBSX beta site SysOps and to BBSX SysOps everywhere. BBSX - THE PERSONAL BBS (tm) BBSX is a bulletin board system that remains true to the spirit of personal computing. BBSX provides users with an inexpensive, full-featured, user-supported alternative to commercial BBSes. It's easy to buy, easy to install, easy to use and easy to maintain, plus 24 hour technical support is available free for the asking. BBSX provides most, if not all, of the popular features users demand. In addition, BBSX users are not subject to configuration limitations or to the burden of BBS maintenance. On the contrary, BBSX imposes no limits on the number of conferences, files areas, protocols, bulletins, questionnaires, doors, or message sizes and system maintenance is fully automated. WHAT'S NEW IN THIS RELEASE (A Brief BBSX Update History) BBSX is regularly updated. Most of the changes made to the program are not listed here; we see no reason to document trivial bug fixes and obvious feature enhancements. The changes listed are those which may require re-configuration of your BBSX site or those that provide important feature improvements. Listed by date of release and version number, most recent release first. If you are installing BBSX for the first time, you can skip this section and proceed directly to the "MINIMUM HARDWARE AND SOFTWARE REQUIREMENTS" section. September 17, 1989 - v.2.16.A Version 2.0 is here! Lots of new or improved features; some major, some minor, with more on the way. Important ones that effect configurations are listed here. (BBSX beta site SysOps should also read the following section. There have been additional changes made since the completion of beta testing, most notably the update of the BBSX run-time module.) 1. BBSX.DOC updated. All UPDATE.DOC information appearing before this point has been integrated into BBSX.DOC. 7 2. Comprehensive configuration help screens added. Run BBSX without any command-line parameters to display the configuration help screens. 3. BBS.BAT updated. SysOps no longer have to press ^C or ^ScrollLock to break out of the BBS.BAT file to exit to DOS. Now, pressing ESC at the READY menu causes BBSX to exit to DOS. To update, simply replace your present BBS.BAT file with the new BBS.BAT file. See also the "Editing the BBS.BAT file" section. 4. Many new .BLT files added. Run BBSX without any command-line parameters for a complete list of system .BLT files. See also the "Editing the system .BLT files" section. 5. .BLT and .POL file output control commands added or enhanced. See the "Editing the MENU.BLT file" and the "Editing the MENU.POL file" sections. 6. BBSX run-time module updated. To upgrade, replace your current run-time module (BRUN60AR.EXE) with the new run-time module (BRUN61AR.EXE). BBSX will not operate under the old run-time module. Do NOT rename the old run-time module. 7. DAILY.BAT updated. Usage of Zoo's invocation syntax has been improved to speed processing of BBSX backup .ZOO files. To update, replace your present DAILY.BAT file with the new DAILY.BAT file. See also the "Editing the DAILY.BAT file" section and the Zoo user manual. 8 8. DOORS option added. See "APPENDIX B - INSTALLING DOORS TO EXTERNAL PROGRAMS." BBSX beta sites are successfully running PCBoard, RBBS, QuickBBS, Wildcat! and most (if not all) other popular external door program formats using BBSX's new and flexible door program interface. (BBSX beta site SysOps please note: 1. The DOOR_ field names have been renamed to DOORS_ field names for consistency. 2. A DOORS_CODE field has been added to DOORS.INI. Update your DOORS.INI files.) 9. DOS.BAT updated. To update, replace your present DOS.BAT file with the new DOS.BAT file. See also the "Editing the DOS.BAT file" section. 10. DOWNLOAD_UPLOAD_RATIO field enhanced. The /RA[TIOFREE] start-up switch is now complemented by an enhanced DOWNLOAD_UPLOAD_RATIO field in BBSX.INI Now, if either the DOWNLOAD_UPLOAD_RATIO field in BBSX.INI equals 0 or the /RA[TIOFREE] switch is specified on the BBSX command-line, DL/UL ratios will not be enforced. See also the "Editing the BBSX.INI file" section, under "DOWNLOAD_UPLOAD_RATIO=" and the "Editing the BBS.BAT file" section, under "/RA[TIOFREE]." 11. Force-read option enhanced. Force-read now toggles between on and off within individual .BLT and .POL files. See also the "Editing the MENU.BLT file" and the "Editing the MENU.POL file" sections. 12. FTX.BAT updated. Many new file transfer protocols added, including Xmodem w/Overthruster, Ymodem-G and Zmodem w/Crash Recovery & Data Compression. 9 To update, simply replace your present FTX.BAT and PROTOCOL.INI files with the new FTX.BAT and PROTOCOL.INI files. 13. Include file support added. SysOps and Co-SysOps can invoke the /INCLUDE: command from within the message editor to insert ASCII text files into messages. Include files must be stored in the BBSX subdirectory and have an .INC extension. See the SAMPLE.INC file contained in the BBSX distribution package. 14. LEVEL###.BLT usage changed. Now, levels less than 100 must be preceded by leading 0s. For example, level 1 would be represented as LEVEL001.BLT, not LEVEL1.BLT; level 99 would be represented as LEVEL099.BLT, not LEVEL99.BLT. Levels of 100 and above do not require leading 0s. To update, rename your LEVEL###.BLT files to reflect the current usage. See also the "Editing the system .BLT files" section, under "LEVEL###.BLT." 15. MONTH##.BLT usage changed. Now, months less than 10 (October) must be preceded by a leading 0. For example, January would be represented as MONTH01.BLT, not MONTH1.BLT. To update, rename your MONTH##.BLT files to reflect the current usage. See also the "Editing the system .BLT files" section, under "MONTH##.BLT." 16. NEW_USER_TIME field renamed. The NEW_USER_TIME field in BBSX.INI has been renamed to NEW_USER_ACCESS for consistency. The old name is still supported. See also the "Editing the BBSX.INI file" section, under "NEW_USER_ACCESS=." 10 17. NODE_LOG_BUFFER=### field added. Causes BBSX to buffer ### lines of NODE.LOG output before flushing the buffered data out to disk, resulting in appreciable performance gains. See the "Editing the BBS.INI file" section, under "NODE_LOG_BUFFER=" for upgrade information. 18. PROTOCOL.INI updated. Many new file transfer protocols added, including Xmodem w/Overthruster, Ymodem-G and Zmodem w/Crash Recovery & Data Compression. To update, simply replace your present FTX.BAT and PROTOCOL.INI files with the new FTX.BAT and PROTOCOL.INI files. 19. /RU[N] start-up switch added. BBSX now requires that at least one start-up option appear on the start-up command-line in order to run. Use the /RU[N] command if you normally run BBSX without any command-line options. Run BBSX without any command-line parameters for a complete list of system start-up switches. See also the "Editing the BBS.BAT file" section, under "/RU[N]". 20. Many new system start-up switches added. Run BBSX without any command-line parameters for a complete list of system start-up switches. See also the "Editing the BBS.BAT file" section, under "BBSX's optional start-up switches." 21. /ST[ACK]:##### start-up switch added. Provides memory-management functions. See the "Editing the BBS.BAT file" section, under "/ST[ACK]:#####." January 21, 1989 - v.1.33.H 1. ANSI-controlled text now displayed correctly on the local screen. 11 ANSI.SYS or a compatible ANSI driver must be loaded before BBSX is run if ANSI-controlled text is to be viewed on the local screen. Remote callers must have ANSI.SYS or a compatible ANSI driver loaded if ANSI-controlled text is to be viewed on their remote screen. ANSI escape sequences can be used in .BLT and .POL files. January 15, 1989 - v.1.33.A 1. MODEM_TIMER code enhanced. Set your MODEM_TIMER to 1 or 2 seconds if it is currently higher. Adjust the setting until performance is satisfactory and the NODE.LOG does not report "command failed" messages. See also the "Editing the BBSX.INI file" section, under "MODEM_TIMER=." November 20, 1988 - v.1.25.A 1. PROTOCOL.BLT retired from use. September 11, 1988 - v.1.15.B 1. UPLOAD_PATH function enhanced. Now, if the UPLOAD_PATH field is blank, BBSX will store uploads in the last FILES_PATH selected by the user. See also the "Editing the BBSX.INI file" section, under "UPLOAD_PATH=" and the "Editing the FILES.INI file" section, under "FILES_PATH=." September 4, 1988 - v.1.14.A 1. BBSX released on CompuServe. September 1, 1988 - v.1.13.J 1. BBSX released on Mother Board BBS. August 1, 1988 1. BBSX v.1.00.A beta testing begun. June 7, 1988 1. BBSX v.1.00.A development begun. 12 MINIMUM HARDWARE AND SOFTWARE REQUIREMENTS IBM PC, XT, AT, PS/2 or true compatible 512k RAM Monochrome display adaptor Monochrome monitor Hard disk drive RS232C serial port configured as COM1 or COM2 Hayes 300, 1200, 2400 or 9600 baud modem or true compatible PC/MS-DOS v.3.0 or higher* * Note: Users of DOS versions lower than 3.0 will not be able to use BBSX's drop-to-DOS, file transfer or DOOR features. INSTALLING BBSX BBSX must be installed and configured before it can be used. To install BBSX, do the following: 1. Call the Mother Board BBS (215-333-8275), CompuServe or GEnie and download the latest version of BBSX (see also the "UPGRADE POLICY" section). This insures that all of the BBSX files will be in your possession, uncorrupted, and that the installation and configuration process will proceed normally. 2. If BBSX is stored in an archived format, un-archive the BBSX files on to the hard disk. 3. If the BBSX files are not stored on the hard disk (usually C:\), copy the BBSX files on to the hard disk. 4. Run the INSTALL.BAT file by entering the following command: INSTALL CONFIGURING BBSX BBSX can be tailored to suit your specific needs; thousands of configurations are possible. After its initial installation, however, BBSX is pre-configured to provide the following: * Monochrome (black and white) operation on monochrome monitors and color (white letters on a blue background) operation on color monitors (CGA/EGA/VGA). * Support for 2400 baud operation on COM1. * A 150-line NODE.LOG buffer. * Sample system bulletins. 13 * A sample bulletin menu and sample bulletins. * A sample polls menu and sample polls. * A sample external doors menu and sample external doors controller batch file. * Five public message groups: MAIN, Computer Hardware, Computer Software, Programmer's Corner and Word Processing. * One sample message group bulletin for the MAIN section. * Messages limited to 50 lines. * A sample message INCLUDE file. * Automatic scrolling of the message group data bases every 500 messages (per message group). * Four public files areas: New uploads, Disk Utilities, Printer Utilities and Telecommunication Programs. * Ten file transfer protocols: Xmodem w/128-byte blocks, Xmodem w/1024-byte blocks, Xmodem w/Overthruster, Ymodem w/128-byte blocks, Ymodem w/1024-byte blocks, Ymodem-G, Zmodem, Zmodem w/Crash Recovery, Zmodem w/Data Compression and Zmodem w/Crash Recovery & Data Compression. * Uploads posted immediately for public consumption. * New users granted an access level of 60, providing one hour of daily access on their first call. * New users granted a security level of 4, allowing reading and writing of messages in all message groups and downloading and uploading of files in all file areas. * Enforced download/upload ratio of 3 to 1 (where 1 upload is required after every 3 downloads). * Password protected drop-to-DOS and return-from-DOS support for SysOp-level users. * Unattended, automated daily back-up of critical BBSX system files (through DAILY.BAT). * Unattended, automated daily maintenance of BBSX system files. 14 * and more! You can operate BBSX "as is" or you can re-configure the system to suit your needs. STEP 1 - Editing the BBSX.INI file BBSX.INI is the general initialization file. It must be edited using an ASCII editor operating in non-document mode. After loading BBSX.INI into any ASCII editor, the following text will be displayed: ~ Rich Levin's BBSX (tm) ~ BBSX.INI ~ Copyright (c) 1988-1990 Richard B. Levin ~ All Rights Reserved ~ ~ Precede comments with a tilde and a space ~ Delete comments to optimize this file ~ BAUD_RATE=2400 CARRIER_DETECT_TIMER=30 COM_PORT=1 DOWNLOAD_UPLOAD_RATIO=3 MESSAGE_LINES=100 MESSAGE_SCROLL_RATE=500 MODEM_INI=ATE0F1M0Q0V1X1S0=1 MODEM_TIMER=2 NEW_USER_ACCESS=60 NEW_USER_SECURITY=4 NODE_LOG_BUFFER=100 SECURITY_TO_DOWNLOAD=3 SECURITY_TO_OPEN_DOORS=999 SECURITY_TO_READ=1 SECURITY_TO_UPLOAD=4 SECURITY_TO_WRITE=2 SYSOP=your name goes here SYSOP_DOS_PASSWORD=put a unique password here UPLOAD_PATH=\BBSX\FILES Edit each field to reflect your configuration requirements: 1. ~ Rich Levin's BBSX (tm) A comment. Text preceded by a tilde character and a space (tilde+space) is ignored by BBSX. Always place a space between the tilde and the comment; otherwise, BBSX might interpret the text following the tilde as a file output control command (see also the "Editing the MENU.BLT file" and the "Editing the MENU.POL file" sections). 15 2. BAUD_RATE= The maximum baud rate supported by the modem. Four characters maximum. Use 300, 1200, 2400 or 9600 to signify 300, 1200, 2400 and 9600 bauds, respectively. 3. CARRIER_DETECT_TIMER= The maximum amount of time to wait for DCD (Data Carrier Detect) on incoming calls before hanging up. Two characters maximum. Use a whole number from 1 to 60 seconds. This entry should match the time set by the modem's S7 register setting. See also the "REQUIRED MODEM DIP-SWITCH SETTINGS" section. 4. COM_PORT= The port number of the RS232C communications channel to use. One character maximum. Use 1 for COM1, 2 for COM2. See also the "REQUIRED MODEM DIP-SWITCH SETTINGS" section. 5. DOWNLOAD_UPLOAD_RATIO= The maximum number of downloads allowed before BBSX requests one upload. Three characters maximum. Use a whole number from 0 to 999. An entry of 0 disables download/upload ratios. See also the "Editing the BBS.BAT file," under "/RA[TIOFREE]." 6. MESSAGE_LINES= The maximum number of lines allowed per message. Three characters maximum. Use a whole number from 25 to 999 lines. MESSAGE_LINES entries that are too large may cause "Out of memory" errors. 7. MESSAGE_SCROLL_RATE= 16 The maximum number of messages, per message group, stored on disk before the oldest 25% are automatically deleted. Four characters maximum. Use a whole number from 25 to 9999 messages. 17 8. MODEM_INI= A string of Hayes-standard AT-commands, used for modem initialization. 40 characters maximum. The first two characters should be "AT" for all Hayes-compatible modems. Do not use ATZ, ATH or escape codes. The MODEM_INI string provided with BBSX is designed for use with most Hayes-compatible modems. Some modems require an &C1 and/or an &D0 be added to the MODEM_INI string (see also the "REQUIRED MODEM DIP-SWITCH SETTINGS" section). Refer to the modem manufacturer's documentation for more information about AT-commands. Users of non-Hayes-compatible modems should see also the "Editing the BBS.BAT file," under "/IG[NOREDCD]," "/NU[LLMODEM]," and "/SK[IPATZ]." 9. MODEM_TIMER= The amount of time the modem needs to process AT-commands. One character maximum. Use a whole number from 1 to 9 seconds. Some modems take longer than others to digest AT-commands. Increase this setting if the system behaves abnormally or if "command failed" error messages appear in the NODE.LOG after every call. Occasional "command failed" messages are normal. 10. NEW_USER_ACCESS= The amount of daily on-line time, in minutes, granted to new users on their first call. Four characters maximum. Use a whole number from 0 to 1440. Setting this field to 0 locks out new users; this is known as running a "private board" in "private mode" (see also the "Editing the system .BLT files" section, under "PRIVATE.BLT"). 11. NEW_USER_SECURITY= The security level granted to new users on their first call. Three characters maximum. Use a whole number from 0 to 899. 18 12. NODE_LOG_BUFFER= The number of NODE.LOG data lines to store in memory before flushing the data out to disk. Three characters maximum. Use a whole number from 0 to 999. An entry of 0 disables NODE.LOG buffering. NODE_LOG_BUFFER entries that are too large may cause "Out of memory" errors. NODE_LOG_BUFFER entries that are too small may cause periodic interruptions of user sessions when NODE.LOG data is flushed out to disk. 13. SECURITY_TO_DOWNLOAD= The security level required to download files. Three characters maximum. Use a whole number from 0 to 999. 14. SECURITY_TO_OPEN_DOORS= The security level required to run external programs accessed through BBSX doors. Three characters maximum. Use a whole number from 0 to 999. 15. SECURITY_TO_READ= The security level required to read messages in any message group. Three characters maximum. Use a whole number from 0 to 999. 16. SECURITY_TO_UPLOAD= The security level required to upload files. Three characters maximum. Use a whole number from 0 to 999. 17. SECURITY_TO_WRITE= The security level required to write messages in any message group. Three characters maximum. Use a whole number from 0 to 999. 18. SYSOP= The name of the board's SysOp. 50 characters maximum. Control and high-bit ASCII characters are accepted. 19 This entry must match the SysOp's USER.LOG record exactly; it is used by BBSX to find the SysOp's record when messages are posted "To: SysOp." 19. SYSOP_DOS_PASSWORD= The password required to grant SysOp-level users remote access to DOS. 25 characters maximum. Control and high-bit ASCII characters are accepted. This password should NOT be the same as the SysOp's log-in password. It should be known only by persons granted a security level of 999 and allowed total access to your hard disk. 20. UPLOAD_PATH= The path where uploaded files are stored. Use any legal DOS directory path name. 53 characters maximum. If a "\" character is not the last character of the UPLOAD_PATH, BBSX will insert it. Drive letters are optional. If you want users to be able to download from the new uploads directory, you must set a FILES_PATH equal to the UPLOAD_PATH. If the UPLOAD_PATH field is blank, BBSX will store uploads in the last FILES_PATH selected by the user. See also the "Editing the FILES.INI file" section, under "FILES_PATH." General information about BBSX.INI The following rules apply to BBSX.INI: 1. BBSX.INI must be stored in the BBSX subdirectory. 2. If BBSX.INI cannot be found in the BBSX subdirectory, BBSX will initialize using hard-coded defaults. If BBSX's default settings are not correct for your installation, BBSX will fail to operate properly. 3. BBSX.INI is a dynamic configuration file; it can be updated at any time after installation without adversely affecting BBSX operations (provided such changes are implemented correctly). 20 4. The BBSX.INI data fields can appear in any order; they have been sorted alphabetically here for esthetic purposes. STEP 2 - Editing the GROUP.INI file GROUP.INI is the message group configuration file. This file is optional, used only by systems supporting a variety of message groups. BBSX always features one message group called "MAIN." The MAIN message group is hard-coded into the program; other message groups are listed in GROUP.INI. If you plan to support only the MAIN message group or if you are in a hurry to get BBSX up and running, remove the GROUP.INI file from the BBSX subdirectory and jump to configuration step 3, the "Editing the FILES.INI file" section. GROUP.INI must be edited using an ASCII editor operating in non-document mode. After loading GROUP.INI into any ASCII editor, the following text will be displayed: ~ Rich Levin's BBSX (tm) ~ GROUP.INI ~ Copyright (c) 1988-1990 Richard B. Levin ~ All Rights Reserved ~ ~ Precede comments with a tilde and a space ~ Delete comments to optimize this file ~ GROUP_SECURITY=2 GROUP_PASSWORD= GROUP_NAME=Computer Hardware Forum GROUP_FILENAME=HARDWARE GROUP_NAME=Computer Software Forum GROUP_FILENAME=SOFTWARE GROUP_NAME=Programmer's Corner GROUP_FILENAME=PROGRAM GROUP_NAME=Word Processing Conference GROUP_FILENAME=WORDPRO END_OF_GROUPS=Y Edit each field to reflect your configuration requirements: 1. ~ Rich Levin's BBSX (tm) A comment. Text preceded by a tilde character and a space (tilde+space) is ignored by BBSX. Always place a space between the tilde and the comment; otherwise, BBSX might interpret the text following the tilde as a file output control command (see also the "Editing the MENU.BLT file" and the "Editing the MENU.POL file" sections). 21 2. GROUP_SECURITY= The security level required to read or write messages in the message groups defined below it. Three characters maximum. Use a whole number from 0 to 999. GROUP_SECURITY settings must appear before other GROUP.INI fields. Multiple GROUP_SECURITY settings can be used. Each GROUP_SECURITY setting affects the message groups defined below it. If multiple GROUP_SECURITY settings are used, a default GROUP_SECURITY setting must be the first field in GROUP.INI. This prevents the last GROUP_SECURITY setting encountered from looping back to the top. If a GROUP_SECURITY setting does not appear, the NEW_USER_SECURITY will be used in its place (see also the "Editing the BBSX.INI file" section, under "NEW_USER_SECURITY="). 3. GROUP_PASSWORD= The password required to read or write messages in the message groups defined below it. 25 characters maximum. Control and high-bit ASCII characters are accepted. GROUP_PASSWORDs must appear after a GROUP_SECURITY setting. Use a blank GROUP_PASSWORD to unprotect message groups. Each blank GROUP_PASSWORD unprotects the message groups defined below it. Multiple GROUP_PASSWORDs can be used. Each GROUP_PASSWORD affects the message groups defined below it. If multiple GROUP_PASSWORDs are used, a default or blank GROUP_PASSWORD must be the second field in GROUP.INI. This prevents the last GROUP_PASSWORD encountered from looping back to the top. If a GROUP_PASSWORD does not appear, all message groups will be unprotected by passwords. 4. GROUP_NAME= The name of a message group. 50 characters maximum. Control, ANSI and high-bit ASCII characters are accepted. 22 Every GROUP_NAME must be followed by a GROUP_FILENAME. 5. GROUP_FILENAME= The disk file name of a message group. 8 characters maximum. All legal DOS file names are accepted. Every GROUP_FILENAME must be preceded by a GROUP_NAME. 6. END_OF_GROUPS=Y An end-of-data (EOD) flag. Must be the last entry in GROUP.INI. BBSX stops searching for GROUP.INI fields when this entry is encountered. This EOD flag allows users to optionally merge the GROUP.INI file into BBSX.INI, thereby providing a central initialization file. If the GROUP.INI fields are merged into BBSX.INI, the GROUP.INI file is not used; however, BBSX performs better when the GROUP.INI and BBSX.INI files are not merged. General information about GROUP.INI The following rules apply to GROUP.INI: 1. GROUP.INI must be stored in the BBSX subdirectory. 2. BBSX always features one message group called "MAIN." The MAIN message group is hard-coded into the program; other message groups are listed in GROUP.INI. 3. To disable GROUP.INI, remove it from the BBSX subdirectory. 4. If the GROUP.INI fields cannot be found in the BBSX subdirectory, BBSX will support only the MAIN message group. 5. GROUP.INI is a dynamic configuration file; it can be updated at any time after installation without adversely affecting BBSX operations (provided such changes are implemented correctly). 6. There is no limit to the number of message groups (GROUP_NAMEs), message group security levels (GROUP_SECURITYs) and message group passwords (GROUP_PASSWORDs) that BBSX can support. 23 7. SysOps and Co-SysOps are not queried for a GROUP_PASSWORD when entering protected message groups. Examples of GROUP.INI files The following examples demonstrate how the GROUP.INI fields provide SysOps with the flexibility to create a variety of message groups: 1. This example allows users between security levels 2 through 999 access to the Computer Hardware and Software Forums and access to the Programmer's Corner. Security levels 500 through 999 can access the Word Processing Conference. Levels below 2 have access to the MAIN message group* only. No passwords are used. GROUP_SECURITY=2 GROUP_PASSWORD= ~ GROUP_NAME=Computer Hardware Forum GROUP_FILENAME=HARDWARE ~ GROUP_NAME=Computer Software Forum GROUP_FILENAME=SOFTWARE ~ GROUP_NAME=Programmer's Corner GROUP_FILENAME=PROGRAM ~ GROUP_SECURITY=500 GROUP_NAME=Word Processing Conference GROUP_FILENAME=WORDPRO ~ END_OF_GROUPS=Y 2. This example allows users between security levels 2 through 999 access to the Computer Hardware and Software Forums. Security levels 500 through 999 can access the Programmer's Corner and Word Processing Conference. Levels below 2 have access to the MAIN message group* only. No passwords are used. 24 GROUP_SECURITY=2 GROUP_PASSWORD= ~ GROUP_NAME=Computer Hardware Forum GROUP_FILENAME=HARDWARE ~ GROUP_NAME=Computer Software Forum GROUP_FILENAME=SOFTWARE ~ GROUP_SECURITY=500 ~ GROUP_NAME=Programmer's Corner GROUP_FILENAME=PROGRAM ~ GROUP_NAME=Word Processing Conference GROUP_FILENAME=WORDPRO ~ END_OF_GROUPS=Y 3. This example allows users between security levels 2 through 999 access to the Computer Hardware Forum, allows levels 3 through 999 access to the Computer Software Forum, allows levels 4 through 999 access to the Programmer's Corner and allows levels 5 through 999 access to the Word Processing Conference. Levels below 2 have access to the MAIN message group* only. No passwords are used. GROUP_SECURITY=2 GROUP_PASSWORD= GROUP_NAME=Computer Hardware Forum GROUP_FILENAME=HARDWARE ~ GROUP_SECURITY=3 GROUP_NAME=Computer Software Forum GROUP_FILENAME=SOFTWARE ~ GROUP_SECURITY=4 GROUP_NAME=Programmer's Corner GROUP_FILENAME=PROGRAM ~ GROUP_SECURITY=5 GROUP_NAME=Word Processing Conference GROUP_FILENAME=WORDPRO ~ END_OF_GROUPS=Y 25 4. This example allows users between security levels 2 through 999 access to the Computer Hardware and Software Forums and to the Programmer's Corner, without requiring passwords. Access to the Word Processing Conference is limited to users between levels 2 through 999 who know the password "orbit.shelf." Levels below 2 have access to the MAIN message group* only. GROUP_SECURITY=2 GROUP_PASSWORD= ~ GROUP_NAME=Computer Hardware Forum GROUP_FILENAME=HARDWARE ~ GROUP_NAME=Computer Software Forum GROUP_FILENAME=SOFTWARE ~ GROUP_NAME=Programmer's Corner GROUP_FILENAME=PROGRAM ~ GROUP_PASSWORD=orbit.shelf GROUP_NAME=Word Processing Conference GROUP_FILENAME=WORDPRO ~ END_OF_GROUPS=Y 5. This example allows users between security levels 2 through 999 access to the Computer Hardware and Software Forums. Access to the Programmer's Corner and Word Processing Conference is limited to users between levels 2 through 999 who know the password "edit!compile!crash." Levels below 2 have access to the MAIN message group* only. GROUP_SECURITY=2 GROUP_PASSWORD= ~ GROUP_NAME=Computer Hardware Forum GROUP_FILENAME=HARDWARE ~ GROUP_NAME=Computer Software Forum GROUP_FILENAME=SOFTWARE ~ GROUP_PASSWORD=edit!compile!crash ~ GROUP_NAME=Programmer's Corner GROUP_FILENAME=PROGRAM ~ GROUP_NAME=Word Processing Conference GROUP_FILENAME=WORDPRO ~ END_OF_GROUPS=Y 26 6. This example allows users between security levels 2 through 999 access to all message groups, provided they know the passwords. Levels below 2 have access to the MAIN message group* only. GROUP_SECURITY=2 ~ GROUP_PASSWORD=mips 'n chips GROUP_NAME=Computer Hardware Forum GROUP_FILENAME=HARDWARE ~ GROUP_PASSWORD=folder@rules GROUP_NAME=Computer Software Forum GROUP_FILENAME=SOFTWARE ~ GROUP_PASSWORD=diner#wheel GROUP_NAME=Programmer's Corner GROUP_FILENAME=PROGRAM GROUP_PASSWORD=road$mirror GROUP_NAME=Word Processing Conference GROUP_FILENAME=WORDPRO ~ END_OF_GROUPS=Y 7. This example allows users between security levels 2 through 999 access to the Computer Hardware and Software Forums, provided they know the passwords; levels 500 through 999 have password protected access to the Programmer's Corner and Word Processing Conference. Levels below 2 have access to the MAIN message group* only. GROUP_SECURITY=2 ~ GROUP_PASSWORD=tinkerbell%squander GROUP_NAME=Computer Hardware Forum GROUP_FILENAME=HARDWARE ~ GROUP_PASSWORD=verb^coil GROUP_NAME=Computer Software Forum GROUP_FILENAME=SOFTWARE ~ GROUP_SECURITY=500 ~ GROUP_PASSWORD=holes&bottle GROUP_NAME=Programmer's Corner GROUP_FILENAME=PROGRAM ~ GROUP_PASSWORD=esc*fp*down4 GROUP_NAME=Word Processing Conference GROUP_FILENAME=WORDPRO ~ END_OF_GROUPS=Y 27 8. This example allows users between security levels 2 through 999 access to the Computer Hardware Forum, allows levels 3 through 999 access to the Computer Software Forum, allows levels 4 through 999 access to the Programmer's Corner and allows levels 5 through 999 access to the Word Processing Conference. All message groups are individually password protected. Levels below 2 have access to the MAIN message group* only. GROUP_SECURITY=2 GROUP_PASSWORD=bagle(shade GROUP_NAME=Computer Hardware Forum GROUP_FILENAME=HARDWARE ~ GROUP_SECURITY=3 GROUP_PASSWORD=virus)checkup GROUP_NAME=Computer Software Forum GROUP_FILENAME=SOFTWARE ~ GROUP_SECURITY=4 GROUP_PASSWORD=seat_display GROUP_NAME=Programmer's Corner GROUP_FILENAME=PROGRAM ~ GROUP_SECURITY=5 GROUP_PASSWORD=pulley-south GROUP_NAME=Word Processing Conference GROUP_FILENAME=WORDPRO ~ END_OF_GROUPS=Y These examples demonstrate how the GROUP_SECURITY and GROUP_PASSWORD fields can be mixed and matched to create an infinite variety of configurations. *Note: Users will be unable to read or write messages in any message group, including the MAIN message group, if their security level is less than the SECURITY_TO_READ or SECURITY_TO_WRITE (see also the "Editing the BBSX.INI file" section, under "SECURITY_TO_READ=" and "SECURITY_TO_WRITE="). STEP 3 - Editing the FILES.INI file FILES.INI is the file areas configuration file. This file is optional, used only by systems supporting a variety of file areas. If you do not plan to support file areas or if you are in a hurry to get BBSX up and running, remove the FILES.INI file from the BBSX subdirectory and jump to configuration step 4, the "Storing the PROTOCOL.INI file" section. 28 FILES.INI must be edited using an ASCII editor operating in non-document mode. After loading FILES.INI into any ASCII editor, the following text will be displayed: ~ Rich Levin's BBSX (tm) ~ FILES.INI ~ Copyright (c) 1988-1990 Richard B. Levin ~ All Rights Reserved ~ ~ Precede comments with a tilde and a space ~ Delete comments to optimize this file ~ FILES_SECURITY=2 FILES_PASSWORD= FILES_AREA=New Uploads FILES_PATH=\BBSX\FILES FILES_AREA=Disk Utilities FILES_PATH=\BBSX\FILES\DISK FILES_AREA=Printer Utilities FILES_PATH=\BBSX\FILES\PRINTER FILES_AREA=Telecommunication Programs FILES_PATH=\BBSX\FILES\TELECOM END_OF_FILES=Y Edit each field to reflect your configuration requirements: 1. ~ Rich Levin's BBSX (tm) A comment. Text preceded by a tilde character and a space (tilde+space) is ignored by BBSX. Always place a space between the tilde and the comment; otherwise, BBSX might interpret the text following the tilde as a file output control command (see also the "Editing the MENU.BLT file" and the "Editing the MENU.POL file" sections). 2. FILES_SECURITY= The security level required to access the file areas defined below it. Three characters maximum. Use a whole number from 0 to 999. FILES_SECURITY settings must appear before other FILES.INI fields. Multiple FILES_SECURITY settings can be used. Each setting affects the file areas defined below it. If multiple FILES_SECURITY settings are used, a default FILES_SECURITY setting must be the first field in FILES.INI. This prevents the last FILES_SECURITY setting encountered from looping back to the top. 29 If a FILES_SECURITY setting does not appear, the NEW_USER_SECURITY will be used in its place (see also the "Editing the BBSX.INI file" section, under "NEW_USER_SECURITY="). 3. FILES_PASSWORD= The password required to access the file areas defined below it. 25 characters maximum. Control and high-bit ASCII characters are accepted. FILES_PASSWORDs must appear after a FILES_SECURITY setting. Use a blank FILES_PASSWORD to unprotect areas. Each blank FILES_PASSWORD unprotects the areas defined below it. Multiple FILES_PASSWORDs can be used. Each FILES_PASSWORD password affects the areas defined below it. If multiple FILES_PASSWORDs are used, a default or blank FILES_PASSWORD must be the second field in FILES.INI. This prevents the last FILES_PASSWORD encountered from looping back to the top. If a FILES_PASSWORD does not appear, all areas will be unprotected by passwords. 4. FILES_AREA= The name of a files area. 50 characters maximum. Control, ANSI and high-bit ASCII characters are accepted. Every FILES_AREA must be followed by a FILES_PATH. 5. FILES_PATH= The path to a files area. 53 characters maximum. All legal DOS path names are accepted. Every FILES_PATH must be preceded by a FILES_AREA. 6. END_OF_FILES=Y An end-of-data (EOD) flag. Must be the last entry in FILES.INI. BBSX stops searching for FILES.INI fields when this entry is encountered. 30 This EOD flag also allows users to optionally merge the FILES.INI file into BBSX.INI, thereby providing a central initialization file. If the FILES.INI fields are merged into BBSX.INI, the FILES.INI file is not used; however, BBSX performs better when the FILES.INI and BBSX.INI files are not merged. General information about FILES.INI The following rules apply to FILES.INI: 1. FILES.INI must be stored in the BBSX subdirectory. 2. To disable FILES.INI, remove it from the BBSX subdirectory. 3. If the FILES.INI fields cannot be found in the BBSX subdirectory, BBSX will display the message "No AREAS available" when requested to list them. 4. FILES.INI is a dynamic configuration file; it can be updated at any time after installation without adversely affecting BBSX operations (provided such changes are implemented correctly). 5. There is no limit to the number of file areas (FILES_AREAs), file security levels (FILES_SECURITYs) and file area passwords (FILES_PASSWORDs) that BBSX can support. 6. SysOps and Co-SysOps are not queried for a FILES_PASSWORD when entering protected areas. Examples of FILES.INI files The following examples demonstrate how the FILES.INI fields provide SysOps with the flexibility to create a variety of file areas: 1. This example allows users between security levels 2 through 999 access to the New Uploads, Disk Utilities and Printer Utilities areas. Security levels 500 through 999 can access the Telecommunication Programs area. Levels below 2 cannot access any file areas.* No passwords are used. 31 FILES_SECURITY=2 FILES_PASSWORD= ~ FILES_AREA=New Uploads FILES_PATH=\BBSX\FILES ~ FILES_AREA=Disk Utilities FILES_PATH=\BBSX\FILES\DISK ~ FILES_AREA=Printer Utilities FILES_PATH=\BBSX\FILES\PRINTER ~ FILES_SECURITY=500 FILES_AREA=Telecommunication Programs FILES_PATH=\BBSX\FILES\TELECOM ~ END_OF_FILES=Y 2. This example allows users between security levels 2 through 999 access to the New Uploads and Disk Utilities areas. Security levels 500 through 999 can access the Printer Utilities and Telecommunication Programs areas. Levels below 2 cannot access any file areas.* No passwords are used. FILES_SECURITY=2 FILES_PASSWORD= ~ FILES_AREA=New Uploads FILES_PATH=\BBSX\FILES ~ FILES_AREA=Disk Utilities FILES_PATH=\BBSX\FILES\DISK ~ FILES_SECURITY=500 ~ FILES_AREA=Printer Utilities FILES_PATH=\BBSX\FILES\PRINTER ~ FILES_AREA=Telecommunication Programs FILES_PATH=\BBSX\FILES\TELECOM ~ END_OF_FILES=Y 3. This example allows users between security levels 2 through 999 access to the New Uploads area, allows levels 3 through 999 access to the Disk Utilities area, allows levels 4 through 999 access to the Printer Utilities area and allows levels 5 through 999 access to the Telecommunication Programs area. Levels below 2 cannot access any file areas.* No passwords are used. 32 FILES_SECURITY=2 FILES_PASSWORD= FILES_AREA=New Uploads FILES_PATH=\BBSX\FILES ~ FILES_SECURITY=3 FILES_AREA=Disk Utilities FILES_PATH=\BBSX\FILES\DISK ~ FILES_SECURITY=4 FILES_AREA=Printer Utilities FILES_PATH=\BBSX\FILES\PRINTER ~ FILES_SECURITY=5 FILES_AREA=Telecommunication Programs FILES_PATH=\BBSX\FILES\TELECOM ~ END_OF_FILES=Y 4. This example allows users between security levels 2 through 999 access to the New Uploads, Disk Utilities and Printer Utilities areas, without requiring passwords. Access to the Telecommunication Programs area is limited to users between levels 2 through 999 who know the password "company.refract." Levels below 2 cannot access any file areas.* FILES_SECURITY=2 FILES_PASSWORD= ~ FILES_AREA=New Uploads FILES_PATH=\BBSX\FILES ~ FILES_AREA=Disk Utilities FILES_PATH=\BBSX\FILES\DISK ~ FILES_AREA=Printer Utilities FILES_PATH=\BBSX\FILES\PRINTER ~ FILES_PASSWORD=company.refract FILES_AREA=Telecommunication Programs FILES_PATH=\BBSX\FILES\TELECOM ~ END_OF_FILES=Y 5. This example allows users between security levels 2 through 999 access to the New Uploads and Disk Utilities areas. Access to the Printer Utilities and Telecommunication Programs areas is limited to users between levels 2 through 999 who know the password "gwackle!doo." Levels below 2 cannot access any file areas.* 33 FILES_SECURITY=2 FILES_PASSWORD= ~ FILES_AREA=New Uploads FILES_PATH=\BBSX\FILES ~ FILES_AREA=Disk Utilities FILES_PATH=\BBSX\FILES\DISK ~ FILES_PASSWORD=gwackle!doo ~ FILES_AREA=Printer Utilities FILES_PATH=\BBSX\FILES\PRINTER ~ FILES_AREA=Telecommunication Programs FILES_PATH=\BBSX\FILES\TELECOM ~ END_OF_FILES=Y 6. This example allows users between security levels 2 through 999 access to all areas, provided they know the passwords. Levels below 2 cannot access any file areas.* FILES_SECURITY=2 FILES_PASSWORD=face@wood FILES_AREA=New Uploads FILES_PATH=\BBSX\FILES ~ FILES_PASSWORD=manual#luggage FILES_AREA=Disk Utilities FILES_PATH=\BBSX\FILES\DISK ~ FILES_PASSWORD=spin$piece FILES_AREA=Printer Utilities FILES_PATH=\BBSX\FILES\PRINTER ~ FILES_PASSWORD=staple%post FILES_AREA=Telecommunication Programs FILES_PATH=\BBSX\FILES\TELECOM ~ END_OF_FILES=Y 7. This example allows users between security levels 2 through 999 access to the New Uploads and Disk Utilities areas, provided they know the passwords; levels 500 through 999 have password protected access to the Printer Utilities and Telecommunication Programs areas. Levels below 2 cannot access any file areas.* 34 FILES_SECURITY=2 ~ FILES_PASSWORD=plastic^threat FILES_AREA=New Uploads FILES_PATH=\BBSX\FILES ~ FILES_PASSWORD=os&who FILES_AREA=Disk Utilities FILES_PATH=\BBSX\FILES\DISK ~ FILES_SECURITY=500 FILES_PASSWORD=power*tree FILES_AREA=Printer Utilities FILES_PATH=\BBSX\FILES\PRINTER ~ FILES_PASSWORD=indicate(dust FILES_AREA=Telecommunication Programs FILES_PATH=\BBSX\FILES\TELECOM ~ END_OF_FILES=Y 8. This example allows users between security levels 2 through 999 access to the New Uploads area, allows levels 3 through 999 access to the Disk Utilities area, allows levels 4 through 999 access to the Printer Utilities area and allows levels 5 through 999 access to the Telecommunication Programs area. All areas are individually password protected. Levels below 2 cannot access any file areas.* FILES_SECURITY=2 FILES_PASSWORD=box)card FILES_AREA=New Uploads FILES_PATH=\BBSX\FILES ~ FILES_SECURITY=3 FILES_PASSWORD=vent_ruler FILES_AREA=Disk Utilities FILES_PATH=\BBSX\FILES\DISK ~ FILES_SECURITY=4 FILES_PASSWORD=bulb-date FILES_AREA=Printer Utilities FILES_PATH=\BBSX\FILES\PRINTER ~ FILES_SECURITY=5 FILES_PASSWORD=can+tube FILES_AREA=Telecommunication Programs FILES_PATH=\BBSX\FILES\TELECOM ~ END_OF_FILES=Y 35 These examples demonstrate how FILES_SECURITY and FILES_PASSWORD fields can be mixed and matched to create an infinite variety of configurations. *Note: Users will be unable to download or upload if their security level is less than the SECURITY_TO_DOWNLOAD or SECURITY_TO_UPLOAD (see also the "Editing the BBSX.INI file" section, under "SECURITY_TO_DOWNLOAD=" and "SECURITY_TO_UPLOAD="). STEP 4 - Storing the PROTOCOL.INI file PROTOCOL.INI is the file areas' file transfer protocol selection configuration file. This file is optional, used only by systems supporting file area uploads and downloads. If you do not plan to support file area uploads and downloads or if you are in a hurry to get BBSX up and running, remove the PROTOCOL.INI file from the BBSX subdirectory and jump to configuration step 5, the "Editing the BBS.BAT file" section. PROTOCOL.INI is an extension of BBSX's program code and should not be edited by anyone other than experienced batch-file programmers (see also "APPENDIX A - FILE TRANSFER TECHNICAL REFERENCE"). PROTOCOL.INI IS PRE-CONFIGURED FOR USE WITH "DSZ," AN EXTERNAL FILE TRANSFER PROTOCOL DRIVER PRODUCED BY OMEN TECHNOLOGY, INC. AND RECOMMENDED FOR USE WITH BBSX. DSZ is available for downloading on the Mother Board BBS (215-333-8275), Omen Technology's TeleGodzilla BBS (503-621-3746), CompuServe, GEnie and many public BBSes. General information about PROTOCOL.INI The following rules apply to PROTOCOL.INI: 1. PROTOCOL.INI must be stored in the BBSX subdirectory. 2. To disable PROTOCOL.INI, remove it from the BBSX subdirectory. 3. If the PROTOCOL.INI fields cannot be found in the BBSX subdirectory, BBSX will display the message "No PROTOCOLS available" when requested to list them. 4. PROTOCOL.INI is a dynamic configuration file; it can be updated at any time after installation without adversely affecting BBSX operations (provided such changes are implemented correctly). 36 5. To insure its correct operation, do not edit PROTOCOL.INI. STEP 5 - Editing the BBS.BAT file BBS.BAT is the batch file used to load, recycle and exit the BBSX program. BBS.BAT must be edited using an ASCII editor operating in non-document mode. After loading BBS.BAT into any ASCII editor, the following text will be displayed: @echo off echo off break on goto top Rich Levin's BBSX (tm) BBS.BAT Copyright (c) 1988-1990 Richard B. Levin All Rights Reserved :top c: cd \bbsx if exist bbsx.tmp del bbsx.tmp bbsx /run if not exist bbsx.tmp goto top Edit BBS.BAT to reflect your configuration requirements: 1. Change the reference to drive "c:" to the letter of the disk drive being used. 2. Change the reference to "\bbsx" to the name of the subdirectory being used. 3. If a "break = on" statement appears in the CONFIG.SYS file, the "break on" statement may be deleted from BBS.BAT. BBSX's optional start-up switches The following start-up switches can be added, in any order, to BBS.BAT, beside the "bbsx" command: 1. /BL[OCK] Override default cursor and use full-cell cursor 2. /CA[NADA] Run in Canadian mode Canadian mode changes some BBSX prompts to reflect Canadian usage. 37 3. /CO[LOR] Override auto-attributes and use color 4. /DA[SH] Override default cursor and use dash-style cursor 5. /DE[BUG] Run BBSX in DEBUG mode DEBUG mode peppers the NODE.LOG with information that helps track configuration bugs. DEBUG mode decreases system performance. 6. /DL[ALL] Allow downloading of FILES.LST files Normally, only SysOp and Co-SysOp level users can download FILES.LST as it may contain confidential information. See also the "HOW TO" section, under "Create or Convert File Description Files." 7. /DO[WN] Run board in "down" mode Down mode causes BBSX to first display the message "The system is DOWN temporarily - Please try your call again later" and then terminate calls immediately after log-on. See also the "Editing the system .BLT files" section, under "DOWN.BLT." 8. /E7[1] Override default parameters of N81 and use E71 9. /ER[RORLOG] Log error messages to the printer This option can also be used in concert with the /LP[TLOG] and the /NO[LOG] options. Error messages will be logged to the printer even if the /NO[LOG] option is in effect. 38 See also the "Editing the BBS.BAT file" section, under "/LP[TLOG]" and "/NO[LOG]." 10. /FL[ASH] Override default cursor and use blinking cursor 11. /HA[LF] Override default cursor and use half-cell cursor 12. /IG[NOREDCD] Ignore the state of DCD (data carrier detect) Use this switch only when running BBSX with a null modem that does not provide a detectable carrier. See also the "Editing the BBS.BAT file" section, under "/NU[LLMODEM]." 13. /LP[TLOG] Redirect NODE.LOG output to the printer See also the "Editing the BBS.BAT file" section, under "/ER[RRORLOG]" and "/NO[LOG]." 14. /MO[NO] Override auto-attributes and use monochrome 15. /NO[LOG] Suppress output of NODE.LOG See also the "Editing the BBS.BAT file" section, under "/ER[RRORLOG]" and "/LP[TLOG]." 16. /NU[LLMODEM] Run at fixed baud rate and skip modem initialization See also the "Editing the BBS.BAT file" section, under "/IG[NOREDCD]." 17. /OP[TIMIZE] Override auto-maintenance and force maintenance 39 18. /PU[BLIC] Disallow private messages 19. /RA[TIOFREE] Ignore DL/UL ratios See also the "Editing the BBSX.INI file" section, under "DOWNLOAD_UPLOAD_RATIO=." 20. /RU[N] Run BBSX without any other command-line options 21. /S2=### Use alternate escape code ### (000 - 127) See the "REQUIRED MODEM DIP-SWITCH SETTINGS" section. 22. /SK[IPATZ] Skip resetting modem with ATZ command 23. /SO[LID] Override default cursor and use non-blinking cursor 24. "/ST[ACK]:#####" Increase stack space by ##### bytes (1024 - 10240) Increase the size of BBSX's stack using the /ST[ACK]: start-up switch only if "Out of stack space" errors are encountered. 25. /TH[IN] Override default cursor and use 1 scan-line cursor General information about BBS.BAT The following rules apply to BBS.BAT: 1. BBS.BAT must be stored in the BBSX subdirectory or in a subdirectory specified by the PATH environment variable. 2. If BBS.BAT cannot be found on disk, BBSX will fail to operate properly. 40 3. BBSX must be run using the BBS.BAT file. Do not run BBSX without using the BBS.BAT file. 4. BBS.BAT is designed to infinitely loop. Do not alter this procedure. 5. BBS.BAT is a dynamic configuration file; it can be updated at any time after installation without adversely affecting BBSX operations (provided such changes are implemented correctly). 6. BBSX requires a minimum of one command-line option in order to run. Use the /RU[N] start-up switch when running BBSX without any other command-line options (see also the "Editing the BBS.BAT file" section, under "/RU[N]"). 7. BBS.BAT will automatically exit to DOS when local users enter a "Q" (for Quit) or when they press the ESC key while at the READY menu prompt. 8. BBS.BAT can also be exited using normal DOS break-key actions. To break the BBS.BAT file, wait until the "Going off hook" message is displayed or the "... Press ^C ..." prompt is echoed to the screen, then press ^C or ^ScrollLock. If the batch file does not break, press ^C or ^ScrollLock again. Do not press ^C or ^ScrollLock while BBSX is unloading from memory; some computers lock-up when a break key is struck during the return to DOS. Note that a "break on" statement must appear in either the AUTOEXEC.BAT or BBS.BAT files, or a "break = on" statement must appear in the CONFIG.SYS file for ^C and ^ScrollLock checking to be truly effective. 9. Multiple start-up switches can be specified on the command-line. For example, the following command-line runs BBSX in both Canadian and debug modes: BBSX /CANADA /DEBUG There is no limit to the number of start-up switches than can be specified on the BBSX command-line. 10. Start-up switches can be entered as terse, two-letter arguments. For example, the following command-line also runs BBSX in Canadian and debug modes: 41 BBSX /CA /DE There is no limit to the number of start-up switches than can be specified on the BBSX command-line. 11. Auto-features (like cursor type and screen display colors) are automatically implemented unless overridden. 12. BBSX's default cursor is a soft-blinking, 3 scan-line cursor. 13. BBSX's default screen colors are white text on a black background for monochrome display adaptors and white text on a blue background for color display adaptors. STEP 6 - Editing the DAILY.BAT file DAILY.BAT is a batch file run by BBSX once daily. This file is optional, used only by systems supporting maintenance functions not provided internally by BBSX. If you do not plan to support external maintenance functions or if you are in a hurry to get BBSX up and running, remove the DAILY.BAT file from the BBSX subdirectory and from subdirectories specified by the PATH environment variable and jump to configuration step 7, the "Editing the DOS.BAT file" section. DAILY.BAT IS PRE-CONFIGURED FOR USE WITH "ZOO," A FILE COMPRESSION/DECOMPRESSION UTILITY PRODUCED BY RAHUL DHESI AND RECOMMENDED FOR USE WITH BBSX. Zoo is available for downloading on the Mother Board BBS (215-333-8275), on CompuServe and GEnie and on many public BBSes. DAILY.BAT must be edited using an ASCII editor operating in non-document mode. After loading DAILY.BAT into any ASCII editor, the following text, demonstrating how DAILY.BAT can be used to back-up system-critical files, will be displayed: 42 echo on goto top Rich Levin's BBSX (tm) DAILY.BAT Copyright (c) 1988-1990 Richard B. Levin All Rights Reserved :top c: if not exist \bbsx\bak\*.* md \bbsx\bak cd \bbsx\bak zoo aunP bbsx \bbsx\bbsx.exe zoo aunP bbsx \bbsx\brun61ar.exe zoo aunP blt \bbsx\*.blt zoo aunP hdr \bbsx\*.hdr zoo aunP inc \bbsx\*.inc zoo aunP ini \bbsx\*.ini zoo aunP log \bbsx\*.log zoo aunP msg \bbsx\*.msg zoo aunP pol \bbsx\*.pol zoo aunP ptr \bbsx\*.ptr zoo aunP rsp \bbsx\*.rsp zoo aunP wtg \bbsx\waiting\*.wtg del *.bak cd \bbsx Edit DAILY.BAT to reflect your configuration requirements: 1. Change the reference to drive "c:" to the letter of the disk drive being used. 2. Change the reference to "\bbsx" to the name of the subdirectory being used. General information about DAILY.BAT The following rules apply to DAILY.BAT: 1. DAILY.BAT must be stored in the BBSX subdirectory or in a subdirectory specified by the PATH environment variable. 2. To disable DAILY.BAT, remove it from the BBSX subdirectory and from subdirectories specified by the PATH environment variable. 3. ZOO.EXE must be stored in the BBSX subdirectory or in a subdirectory specified by the PATH environment variable. 4. If ZOO.EXE cannot be found on disk, BBSX will display the message "Bad command or file name" after attempting to launch ZOO.EXE. 43 5. DAILY.BAT is a dynamic configuration file; it can be updated at any time after installation without adversely affecting BBSX operations (provided such changes are implemented correctly). 6. A copy of COMMAND.COM must be stored in the BBSX subdirectory or in a subdirectory specified by the PATH environment variable. 7. To insure DAILY.BAT's correct operation, the COMSPEC environment variable should be SET in the AUTOEXEC.BAT file: SET COMSPEC=[d:][path]COMMAND.COM See your DOS manual for information on the COMSPEC environment variable. 8. There must be sufficient RAM available to load and run both COMMAND.COM and ZOO.EXE after BBSX has loaded. 9. Any PC-class data compression program (like ARC, LHarc, PKZIP, etc.) can be substituted for DAILY.BAT's Zoo usage; however, Zoo is recommended. 10. DAILY.BAT can be programmed to perform any series of legal DOS commands and will execute those commands once daily. 11. Programmers developing external utilities for BBSX can incorporate their run-time calls into DAILY.BAT or into BBSX doors (see also "APPENDIX B - INSTALLING DOORS TO EXTERNAL PROGRAMS"). STEP 7 - Editing the DOS.BAT file DOS.BAT is the batch file used to provide SysOps with remote access to DOS. This file is optional, used only by systems supporting remote access to DOS for SysOp-level users. If you do not plan to support remote access to DOS or if you are in a hurry to get BBSX up and running, remove the DOS.BAT file from the BBSX subdirectory and from subdirectories specified by the PATH environment variable and jump to configuration step 8, the "Storing the FTX.BAT file" section. DOS.BAT must be edited using an ASCII editor operating in non-document mode. After loading DOS.BAT into any ASCII editor, the following text will be displayed: 44 @echo off echo off goto top Rich Levin's BBSX (tm) DOS.BAT Copyright (c) 1988-1990 Richard B. Levin All Rights Reserved :top ctty com1 echo Wait... command echo Wait... ctty con c: cd \bbsx Edit DOS.BAT to reflect your configuration requirements: 1. Change the reference to drive "c:" to the letter of the disk drive being used. 2. Change the reference to "\bbsx" to the name of the subdirectory being used. 3. Change the reference to "com1" to the port number of the RS232C communications channel being used (either "com1" or "com2"). General information about DOS.BAT The following rules apply to DOS.BAT: 1. DOS.BAT must be stored in the BBSX subdirectory or in a subdirectory specified by the PATH environment variable. 2. To disable DOS.BAT, remove it from the BBSX subdirectory and from subdirectories specified by the PATH environment variable. 3. If DOS.BAT cannot be found on disk, BBSX will display the message "Bad command or file name" after attempting to launch DOS.BAT. 4. DOS.BAT is a dynamic configuration file; it can be updated at any time after installation without adversely affecting BBSX operations (provided such changes are implemented correctly). 5. A copy of COMMAND.COM must be stored in the BBSX subdirectory or in a subdirectory specified by the PATH environment variable. 45 6. To insure DOS.BAT's correct operation, the COMSPEC environment variable should be SET in the AUTOEXEC.BAT file: SET COMSPEC=[d:][path]COMMAND.COM See your DOS manual for information on the COMSPEC environment variable. 7. There must be sufficient RAM available to load and run COMMAND.COM after BBSX has loaded. 8. Some DOS versions require remote users to toggle character echoing on or off after dropping or returning from DOS. If you can't see characters being typed or if characters are doubled (lliikkee tthhiiss), toggle character echoing within your telecommunication program. (Most telecommunication programs use the Alt+E command to toggle character echoing on and off.) 9. Some DOS versions feature a buggy CTTY command that causes system lock-ups during redirected DOS-level backspacing. Users of true-blue IBM PC-DOS will not encounter this bug. If you experience difficulty with BBSX's drop-to-DOS function, try using programs such as GAPCTY, Gateway, Portal, SuperHost or similar systems. These programs are available on many public BBSes, CompuServe and GEnie, and they provide enhancements to the CTTY command that resolve the DOS bugs. 10. Some PC-compatibles will not drop to DOS unless a MODE command has been issued. Try adding a MODE command to your AUTOEXEC.BAT file or to the DOS.BAT file (just before its CTTY command) if you experience difficulty with BBSX's drop-to-DOS function. See your DOS manual for information on the MODE command. 11. Programs that do not support DOS redirection cannot be run through BBSX's drop-to-DOS shell unless they are processed through a communications translation utility. 46 12. BBSX loads a copy of COMMAND.COM to provide remote access to DOS. While the COMMAND.COM shell is active, BBSX is inactive and has no control over the system until the EXIT command is entered. This feature is not unlike jumping to DOS from within Lotus 1-2-3, from within Telix or from within any other programs' shell-to-DOS feature. It is the SysOp's responsibility to provide system security for this powerful feature. If DCD (data carrier detect) is lost (ie: the caller hangs up) while BBSX is shelled to DOS, system security will be severely compromised. This is because BBSX is disabled, DOS is redirected to a COM port (via the CTTY command) and the modem is in auto-answer mode. Incoming callers would have total access to the unsecured hard disk until they typed the "EXIT" command and were returned to BBSX, which would then query them for the SYSOP_DOS_PASSWORD. To prevent just such a scenario from occurring, users are advised to run a BBS drop-to-DOS protection utility that reboots the system when carrier is lost (programs like The Carrier Detective or WATCHDOG, available for downloading on the Mother Board BBS [215-333-9275]). The call to activate drop-to-DOS protection utilities should be placed immediately before DOS.BAT's call to COMMAND.COM; the call to deactivate drop-to-DOS protection utilities should be placed immediately after DOS.BAT's call to COMMAND.COM. Another good safety technique is to turn off the modem's auto-answer mode by sending an "ATS0=0" command to the modem before DOS.BAT's call to COMMAND.COM. By doing so, if DCD is lost and the system is not restarted, the modem will not answer the phone; system security remains intact. There are many programs that provide support for sending Hayes-compatible AT-commands to the modem (like DOSMODEM, available for downloading on the Mother Board BBS [215-333-9275]). Here is an example of a DOS.BAT file that is configured to provide total system security for DOS-level access (the changes are noted with *'s): 47 @echo off echo off goto top Rich Levin's BBSX (tm) DOS.BAT Copyright (c) 1988-1990 Richard B. Levin All Rights Reserved :top ctty com1 echo Wait... * [activate carrier monitor here] * [send modem escape code here] * [send modem ats0=0 here] * [send modem on-line code here] command * [deactivate carrier monitor here] echo Wait... ctty con c: cd \bbsx STEP 8 - Storing the FTX.BAT file FTX.BAT is the batch file used by BBSX to control file downloads and uploads. FTX.BAT is an extension of BBSX's program code and should not be edited by anyone other than experienced batch-file programmers (see also "APPENDIX A - FILE TRANSFER TECHNICAL REFERENCE"). FTX.BAT IS PRE-CONFIGURED FOR USE WITH "DSZ," AN EXTERNAL FILE TRANSFER PROTOCOL DRIVER PRODUCED BY OMEN TECHNOLOGY, INC. AND RECOMMENDED FOR USE WITH BBSX. DSZ is available for downloading on the Mother Board BBS (215-333-8275), Omen Technology's TeleGodzilla BBS (503-621-3746), CompuServe, GEnie and many public BBSes. General information about FTX.BAT The following rules apply to FTX.BAT: 1. FTX.BAT must be stored in the BBSX subdirectory or in a subdirectory specified by the PATH environment variable. 2. To disable FTX.BAT, remove it from the BBSX subdirectory and from subdirectories specified by the PATH environment variable. 3. If FTX.BAT cannot be found on disk, BBSX will display the message "Bad command or file name" after attempting to launch FTX.BAT. 48 4. DSZ.EXE must be stored in the BBSX subdirectory or in a subdirectory specified by the PATH environment variable. 5. If DSZ.EXE cannot be found on disk, BBSX will display the message "Bad command or file name" after attempting to launch DSZ.EXE. 6. FTX.BAT is a dynamic configuration file; it can be updated at any time after installation without adversely affecting BBSX operations (provided such changes are implemented correctly). 7. To insure its correct operation, do not edit FTX.BAT. 8. A copy of COMMAND.COM must be stored in the BBSX subdirectory or in a subdirectory specified by the PATH environment variable. 9. To insure FTX.BAT's correct operation, the COMSPEC environment variable should be SET in the AUTOEXEC.BAT file: SET COMSPEC=[d:][path]COMMAND.COM See your DOS manual for information on the COMSPEC environment variable. 10. There must be sufficient RAM available to load and run both COMMAND.COM and DSZ.EXE after BBSX has loaded. 11. DSZ.EXE must be separately registered with Omen Technology, Inc., before advanced file transfer protocol options supported by DSZ and used by BBSX can be enabled. See the DSZ documentation for more information. STEP 9 - Editing the MENU.BLT file MENU.BLT is the main bulletin menu file, displayed to users when they request the BULLETINS menu. This file is optional, used only by systems supporting a variety of bulletins. If you do not plan to support bulletins or if you are in a hurry to get BBSX up and running, remove the MENU.BLT file from the BBSX subdirectory and jump to configuration step 10, the "Editing the system .BLT files" section. MENU.BLT must be edited using an ASCII editor operating in non-document mode. After loading MENU.BLT into any ASCII editor, the following text will be displayed: 49 ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ The Mother Board BBS ³ ³ -- BULLETINS Menu -- ³ ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ; 1 The Mother Board's Contact Info 2 The Mother Board's BBS Ad ÛÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÛ ³ DOWNLOAD A download reminder ³ ³ FILES Information about files area features ³ ³ GOODBYE Log-off screen ³ ³ HELLO The Mother Board's welcoming screen ³ ³ LOGIN The Mother Board's log-in identification ³ ³ MENU This menu again! ³ ³ MESSAGES Information about message group features ³ ³ MONTH08 August, 1989 news and views ³ ³ NEWS The daily news file ³ ³ NEWUSER Information for new users ³ ³ UPDATE List of BBSX changes ³ ³ UPLOAD Upload requests ³ ÛÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÛ Edit MENU.BLT to reflect your configuration requirements: 1. MENU.BLT should list available bulletins by name or number, and description. 2. Each bulletin listed should have a corresponding .BLT file on disk. For example, bulletin #1 must appear on disk as "1.BLT," bulletin #2 as "2.BLT," bulletin #3 as "3.BLT," the HELLO bulletin as "HELLO.BLT," and so on. Names, numbers, legal DOS file name characters and combinations thereof can be used to identify .BLT files. 3. Format MENU.BLT (and other .BLT files [see also the "Editing the system .BLT files" section]) using the designs of your choice. Control, ANSI and high-bit ASCII characters are accepted. 4. .BLT files will have a nicer appearance if they are formatted with a blank line as the first line of the file. Controlling .BLT file output There are times when the output of a .BLT file must be controlled. For instance, some SysOps want to prevent new users from cancelling a display of system rules and regulations; others want to display ANSI-animated bulletins without pausing after every full screen. The following commands, when embedded in .BLT files, control their output: 50 1. ~F - the "Force-read" command When the letter F is preceded by a tilde character (ie: ~F) in a .BLT file, requests by users to abort the display are ignored until another force-read command is encountered or the end of a .BLT file is reached. The force-read command operates like a toggle switch. The first force-read command encountered in a .BLT file turns the force-read option on; the next force-read command encountered turns the force-read option off. There is no limit to the number of times the force-read command can be toggled on and off within individual .BLT files. Note, however, that .BLT files begin their display with the force-read option turned off even if previous .BLT files were displayed with the force-read option turned on. There must not be spaces between the tilde and the letter F (ie: ~F is correct, ~ F is incorrect). BBSX will interpret the command as a comment if a space appears. The force-read command can be entered in upper or lower case and can be placed anywhere in a .BLT file; for best results, however, place the first force-read command on the first line of the file. The line containing the force-read command is not displayed. The NEWUSER.BLT file (provided with BBSX) contains an example of the force-read command. 2. ~N - the "Non-stop" command When the letter N is preceded by a tilde character (ie: ~N) in a .BLT file, the file is displayed to its end without interruption. Requests by users to abort the display are honored unless a force-read command (~F) has been issued. There must not be spaces between the tilde and the letter N (ie: ~N is correct, ~ N is incorrect). BBSX will interpret the command as a comment if a space appears. The non-stop command can be entered in upper or lower case and can be placed anywhere in a .BLT file; for best results, however, place it on the first line. The line containing the non-stop command is not displayed. 51 The DAY02.BLT file (provided with BBSX) contains an example of the non-stop command. 3. ~P - the "Pause" command When the letter P is preceded by a tilde character (ie: ~P) in a .BLT file, BBSX will pause for a specified time. Requests by users to abort the display are honored after the specified time has elapsed unless a force-read command (~F) has been issued. The format of the pause command is as follows: ~P## where "##" is a whole number from 01 to 99, representing the number of seconds to pause. Leading 0s are recommended for esthetic purposes but are not required. For example, the following pause command causes BBSX to pause the .BLT file display for one second: ~P01 There must not be spaces between the tilde and the letter P (ie: ~P## is correct, ~ P## is incorrect). BBSX will interpret the command as a comment if a space appears. The pause command can be entered in upper or lower case and can be placed anywhere in a .BLT file. The line containing the pause command is not displayed. The DAY02.BLT file (provided with BBSX) contains an example of the pause command. 4. ~S - the "Stop" command When the letter S is preceded by a tilde character (ie: ~S) in a .BLT file, the display of the file is stopped and users are prompted to press a key, even if a non-stop command (~N) has been issued. Requests by users to abort the display are honored unless a force-read command (~F) has been issued. There must not be spaces between the tilde and the letter S (ie: ~S is correct, ~ S is incorrect). BBSX will interpret the command as a comment if a space appears. 52 The stop command can be entered in upper or lower case and can be placed anywhere in a .BLT file. The line containing the stop command is not displayed. The HELLO.BLT file (provided with BBSX) contains an example of the stop command. General information about MENU.BLT The following rules apply to MENU.BLT: 1. MENU.BLT and other .BLT files must be stored in the BBSX subdirectory. 2. To disable MENU.BLT or other .BLT files, remove them from the BBSX subdirectory. 3. If the MENU.BLT file cannot be found in the BBSX subdirectory, the message "BULLETINS have not been posted today" will be displayed when users request the BULLETINS menu. 4. Users requesting .BLT files that BBSX cannot find in the BBSX subdirectory will receive the message "BULLETIN [ filename ] not available." 5. If a .BLT file is not listed in the MENU.BLT file but does exist on disk, it can still be viewed if its name or number is entered correctly. 6. MENU.BLT and other .BLT files are dynamic configuration files; they can be updated at any time after installation without adversely affecting BBSX operations (provided such changes are implemented correctly). 7. There is no limit to the number of .BLT files that BBSX can support. STEP 10 - Editing the system .BLT files There are certain .BLT file names that are reserved for BBSX system use. These files--displayed once daily, automatically at specific session times or under distinct session conditions--are optional, used only by systems supporting a customized look and feel. If you do not plan to support a customized look and feel or if you are in a hurry to get BBSX up and running, remove the system .BLT files from the BBSX subdirectory and jump to configuration step 11, the "Editing the MENU.POL file" section. Each system .BLT file functions in a unique manner, described below. Edit the sample .BLT files provided with BBSX using any ASCII editor operating in non-document mode: 53 1. DATE####.BLT Displayed on date #### (where Jan. 01 = 0101, Dec. 31 = 1231) For example, to display a bulletin every January 1st, create a DATE####.BLT named DATE0101.BLT. Leading 0s are required. 2. DAY##.BLT Displayed on day #### (where Sunday = 01, Saturday = 07) For example, to display a bulletin every Monday, create a DAY##.BLT named DAY02.BLT. Leading 0s are required. 3. DOWN.BLT Displayed after log-on when in "down" mode When running in down mode, BBSX will display the DOWN.BLT file immediately after log-on. If the DOWN.BLT file is not found on disk, BBSX will display the message "The system is DOWN temporarily - Please try your call again later" instead. See also the "Editing the BBS.BAT file" section, under "/DO[WN]." 4. DOWNLOAD.BLT Displayed before downloads 5. FILES.BLT Displayed upon entry to the FILES menu 6. GOODBYE.BLT Displayed after log-off 7. group_filename.BLT Displayed after entering specified message group 54 Message group bulletins are presented to users once daily, immediately after they enter the associated message group. To link a bulletin to a message group, give the .BLT file the same name as the GROUP_FILENAME (see also the "Editing the GROUP.INI file" section, under "GROUP_FILENAME="). For example, to present users with a greeting when they enter the MAIN message group, create a file with the name "MAIN.BLT" and store it in the BBSX subdirectory. A sample MAIN.BLT file is provided with BBSX. 8. HELLO.BLT Displayed after log-on 9. HOUR##.BLT Displayed during hour #### (01 - 23) For example, to display a bulletin during the 1:00 p.m. hour (that is, from 1:00 p.m. through 1:59 p.m.), create an HOUR##.BLT named HOUR13.BLT. Leading 0s are required. 10. LEVEL###.BLT Displayed to security level ### users (000 - 999) For example, to display a bulletin to security level 999 users, create a LEVEL###.BLT named LEVEL999.BLT. Leading 0s are required. 11. LOGIN.BLT Displayed on before log-in (Note: While other system .BLT files are displayed once daily, LOGIN.BLT is displayed once per session.) 12. MENU.BLT Bulletins menu See the "Editing the MENU.BLT file" section. 13. MESSAGES.BLT Displayed upon entry to the MESSAGES menu 55 14. MONTH##.BLT Displayed during month ## (where Jan. = 01, Dec. = 12) For example, to display a bulletin throughout the month of January, create a MONTH##.BLT named MONTH01.BLT. Leading 0s are required. 15. NEWS.BLT Displayed after HELLO.BLT 16. NEWUSER.BLT Displayed once to new users 17. PRIVATE.BLT Displayed after log-on when in "private" mode When running a "private board" in private mode (see also the "Editing the BBSX.INI file" section, under "NEW_USER_SECURITY="), BBSX will display the PRIVATE.BLT file immediately after log-on. When running in private mode and the PRIVATE.BLT file is not found on disk, BBSX will display the message "This is a PRIVATE board" instead. 18. UPLOAD.BLT Displayed before uploads General information about system .BLT files The following rules apply to system .BLT files: 1. System .BLT files must be stored in the BBSX subdirectory. 2. To disable system .BLT files, remove them from the BBSX subdirectory. 3. No message will be displayed if a system .BLT file cannot be found in the BBSX subdirectory. 4. System .BLT files are dynamic configuration files; they can be changed, edited, re-configured or updated at any time after installation without adversely affecting BBSX operations (provided such changes are implemented correctly). 56 5. The commands for controlling .BLT file output also apply to system .BLT files (see also the "Editing the MENU.BLT file" section). STEP 11 - Editing the MENU.POL file MENU.POL is the questionnaire menu file, displayed to users when they request the POLLS menu. This file is optional, used only by systems supporting a variety of questionnaires. If you do not plan to support questionnaires or if you are in a hurry to get BBSX up and running, remove the MENU.POL file from the BBSX subdirectory and jump to configuration step 12, the "Installing yourself as SysOp" section. MENU.POL must be edited using an ASCII editor operating in non-document mode. After loading MENU.POL into any ASCII editor, the following text will be displayed: ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ The Mother Board BBS ³ ³ ÄÄÄÄ POLLS Menu ÄÄÄÄ ³ ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ; * 1 New User Questionnaire 2 User Hardware Profile 3 User Software Profile 4 Add a BBS to our BBS list 5 BBS Users Survey 6 BBSX Users Survey ÛÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÛ ³ COMMENT Post a private message to the SysOp ³ ÛÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÛ Edit MENU.POL to reflect your configuration requirements: 1. MENU.POL should list available polls by name or number, and description. 2. Each poll listed should have a corresponding .POL file on disk. For example, poll #1 must appear on disk as "1.POL," poll #2 as "2.POL," poll #3 as "3.POL," the COMMENT poll as "COMMENT.POL," and so on. Names, numbers, legal DOS file name characters and combinations thereof can be used to identify .POL files. 3. Format MENU.POL (and other .POL files) using the designs of your choice. Control, ANSI and high-bit ASCII characters are accepted. 4. .POL files will have a nicer appearance if they are formatted with a blank line as the first line of the file. 57 Controlling .POL file output There are times when the output of a poll file must be controlled. For instance, some SysOps want to prevent users from cancelling a display; others want to display ANSI-animated polls without pausing after every full screen. BBSX provides facilities to address these and other file output control needs. The following commands, when embedded in .POL files, control their output: 1. ~? - the "Input" command When a question mark is preceded by a tilde character (ie: ~?) in a .POL file, BBSX prompts the user for input. The format of the input command is as follows: ~?## where "##" is a whole number from 01 to 99, representing the number of lines to input. Leading 0s are recommended for esthetic purposes but are not required. For example, the following command causes BBSX to prompt for, accept and store up to nine lines of user input: ~?09 There must not be spaces between the tilde and the question mark (ie: ~?## is correct, ~ ?## is incorrect). BBSX will interpret the command as a comment if a space appears. The input command can be placed anywhere in a .POL file. The line containing the input command is not displayed. User responses are recorded in corresponding ".RSP" files. .RSP files are created automatically by BBSX using the same naming conventions as .POL files; that is, a poll file named "1.POL" will have its responses stored in a file named "1.RSP," "2.POL" will have its responses stored in a file named "2.RSP" and so on. The response dates, times, user names and "calling from" locations are automatically recorded in .RSP files. .RSP files can be viewed using any ASCII editor. 58 The 1.POL file (provided with BBSX) contains an example of the input command. 2. ~F - the "Force-read" command When the letter F is preceded by a tilde character (ie: ~F) in a .POL file, requests by users to abort the display are ignored until another force-read command is encountered or the end of a .POL file is reached. The force-read command operates like a toggle switch. The first force-read command encountered in a .POL file turns the force-read option on; the next force-read command encountered turns the force-read option off. There is no limit to the number of times the force-read command can be toggled on and off within individual .POL files. Note, however, that .POL files begin their display with the force-read option turned off even if previous .POL files were displayed with the force-read option turned on. There must not be spaces between the tilde and the letter F (ie: ~F is correct, ~ F is incorrect). BBSX will interpret the command as a comment if a space appears. The force-read command can be entered in upper or lower case and can be placed anywhere in a .POL file; for best results, however, place the first force-read command on the first line of the file. The line containing the force-read command is not displayed. 3. ~N - the "Non-stop" command When the letter N is preceded by a tilde character (ie: ~N) in a .POL file, the file is displayed to its end without interruption. Requests by users to abort the display are honored unless a force-read command (~F) has been issued. There must not be spaces between the tilde and the letter N (ie: ~N is correct, ~ N is incorrect). BBSX will interpret the command as a comment if a space appears. The non-stop command can be entered in upper or lower case and can be placed anywhere in a .POL file; for best results, however, place it on the first line. The line containing the non-stop command is not displayed. 59 4. ~P - the "Pause" command When the letter P is preceded by a tilde character (ie: ~P) in a .POL file, BBSX will pause for a specified time. Requests by users to abort the display are honored after the specified time has elapsed unless a force-read command (~F) has been issued. The format of the pause command is as follows: ~P## where "##" is a whole number from 01 to 99, representing the number of seconds to pause. Leading 0s are recommended for esthetic purposes but are not required. For example, the following pause command causes BBSX to pause the .POL file display for one second: ~P01 There must not be spaces between the tilde and the letter P (ie: ~P## is correct, ~ P## is incorrect). BBSX will interpret the command as a comment if a space appears. The pause command can be entered in upper or lower case and can be placed anywhere in a .POL file. The line containing the pause command is not displayed. 5. ~S - the "Stop" command When the letter S is preceded by a tilde character (ie: ~S) in a .POL file, the display of the file is stopped and users are prompted to press a key, even if a non-stop command (~N) has been issued. Requests by users to abort the display are honored unless a force-read command (~F) has been issued. There must not be spaces between the tilde and the letter S (ie: ~S is correct, ~ S is incorrect). BBSX will interpret the command as a comment if a space appears. The stop command can be entered in upper or lower case and can be placed anywhere in a .POL file. The line containing the stop command is not displayed. 60 General information about MENU.POL The following rules apply to MENU.POL: 1. MENU.POL and other .POL files must be stored in the BBSX subdirectory. 2. To disable MENU.POL or other .POL files, remove them from the BBSX subdirectory. 3. If the MENU.POL file cannot be found in the BBSX subdirectory, the message "POLLS have not been posted today" will be displayed when users request the POLLS menu. 4. Users requesting .POL files that BBSX cannot find in the BBSX subdirectory will receive the message "POLL [ filename ] not available." 5. If a .POL file is not listed in the MENU.POL file but does exist on disk, it can still be viewed if its name or number is entered correctly. 6. MENU.POL and other .POL files are a dynamic configuration files; they can be updated at any time after installation without adversely affecting BBSX operations (provided such changes are implemented correctly). 7. There is no limit to the number of .POL files that BBSX can support. STEP 12 - Installing yourself as a SysOp Every BBS requires a system operator, popularly referred to as the "SysOp." Guess what? You're it! As a BBSX SysOp, you are granted special privileges, among them the ability to: * Configure and re-configure all system displays and functions * Have unlimited on-line time * Access the SYSTEM menu and its sub-menus * List users by name, number, access or security levels * Change user access (time) and security levels * "Lock-out" users * Delete and undelete users 61 * Expel outdated users * Un-expel users * Globally search and replace user access and security levels * Reset user DL/UL ratios * View and edit the USER.LOG * View and delete the NODE.LOG (an activity/audit log) * Access all message and file areas * Access all external door programs * Waive message group and files password requirements * Include ASCII text files in messages * Read private mail * Delete and undelete messages regardless of who posted them * Access DOS from a remote computer * Watch users on-line * Help users on-line * Force users into CHAT mode * Disconnect users * ... and more! Assuming BBSX has been correctly installed and configured, the next step is to let the program know who's boss. To install yourself as the SysOp: 1. Confirm that BBSX.EXE and BRUN61AR.EXE are in the BBSX subdirectory or in a subdirectory specified by the PATH environment variable. 2. Enter the following commands: CD \BBSX BBSX /SYSOP 62 3. BBSX will load and display the message "WARNING: The /SYSOP start-up switch is ACTIVE," and then prompt: Rich Levin's BBSX (tm) Version 2.XX.X Copyright (c) 1988-1990 Richard B. Levin All Rights Reserved READY Local (CR), Quit (ESC) : _ Press CR (the ENTER key) or enter the letter "L." 4. BBSX will go off-hook and prompt: First name: _ Enter your first name. 5. BBSX will prompt: Last name: _ Enter your last name. 6. BBSX will prompt: Are you a NEW user (y/N)? _ Enter the letter "Y." 7. BBSX will prompt: Password: _ Enter a password that YOU and ONLY YOU will know. Control and high-bit ASCII characters are accepted. Passwords are not case sensitive. 8. After a moment, BBSX will exit and return to DOS, having successfully registered you as the board's SysOp. IMPORTANT: Do not run BBSX with the /SYSOP switch again. STEP 13 - Going on-line Assuming BBSX has been correctly installed and configured and that the SysOp has been installed, the next step is to go on-line. To do so, run BBSX by using the BBS.BAT file: 63 * If BBS.BAT is stored in the BBSX subdirectory, enter the following commands: CD \BBSX BBS * If BBS.BAT is stored in a subdirectory specified by the PATH environment variable, enter the command: BBS BBSX will load and answer incoming calls automatically. LEARNING TO USE BBSX We don't provide a comprehensive command reference for BBSX; it isn't necessary. We think you'll agree that BBSX's interface is intuitive for novice and professional users alike. Users adapt quickly to BBSX's instinctive approach to BBSing; the less documentation there is to wade through, the faster users will get up to speed. So jump right in and start exploring BBSX. And feel free to call for support (215-333-8274 [voice] or 215-333-8275 [data]) should the need arise. REQUIRED MODEM DIP-SWITCH SETTINGS External modems The following DIP-switch settings, required for use with BBSX, correspond to the Hayes Smartmodem 1200 (external) and the MultiTech MultiModem 224E (external); your modem's DIP-switches may not coincide with this chart: SWITCH POSITION FUNCTION ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 1 DOWN Modem ignores status of DTR* 2 UP Enables verbose (word) responses 3 DOWN Enables command responses 4 UP Enables command character echo 5 UP Enables auto-answer 6 UP DCD* & DSR* reflect actual status 7 UP Single line telephone jack 8 DOWN Enables command mode *DTR = Data Terminal Ready DCD = Data Carrier Detect DSR = Data Set Ready 64 Internal modems The following DIP-switch settings, required for use with BBSX, correspond to the Hayes Smartmodem 1200B (internal); your modem's DIP-switches may not coincide with this chart: SWITCH POSITION FUNCTION ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 1 RIGHT Designates a COM1 device* 2 LEFT Single line telephone jack 3 RIGHT DCD** reflects actual status 4 RIGHT Modem ignores status of DTR** (*1 LEFT Designates a COM2 device) **DTR = Data Terminal Ready DCD = Data Carrier Detect IMPORTANT NOTE: When using BBSX, the modem must be set to ignore the status of DTR, a procedure generally referred to as "forcing DTR on." Otherwise, the modem will hang up on callers after CONNECTing and during file transfers. Ignoring the status of DTR should not adversely effect other communications programs. General information about modem DIP-switch settings 1. Some modems do not have DIP-switches; AT commands are used instead. These modems usually provide an "&C1" command that causes the modem to report the true state of DCD and provide an "&D0" command to force DTR on. By adding a combined &C1&D0 command to the MODEM_INI string in BBSX.INI, these modems can be configured to report the true state of DCD and to force DTR on (see also the "Editing the BBSX.INI file" section, under "MODEM_INI="). Refer to the modem manufacturer's owners manual for the appropriate commands. 2. Add an &C1&D0 command to the MODEM.INI field in BBSX.INI if the modem supports "&" commands (see also the "Editing the BBSX.INI file" section, under "MODEM_INI="). The &C1 command causes modems to report the true state of DCD; &D0 forces DTR on. 65 3. Some modems are not 100% Hayes-compatible and do not provide facilities for controlling DTR. DTR can be forced on, however, by simply re-wiring the RS232C cable. Usually, jumpering pins 6 and 20 on the cable port that connects to the modem will force DTR on. 4. Delete the "F1" command featured in the MODEM_INI field of BBSX.INI if your modem does not support it (see also the "Editing the BBSX.INI file" section, under "MODEM_INI="). 5. Some modems that are not 100% Hayes-compatible do not respond correctly to the modified escape code BBSX sends at the end of a call; consequently, these modems take longer than normal to disconnect or fail to disconnect. If your modem requires BBSX to send the modified escape sequence (three ^Cs) more than twice before disconnecting or if your modem will not disconnect, try adding the following alternate escape code option to BBSX's start-up command-line: /S2=### where ### equals a whole number from 001 to 127 representing corresponding ASCII character codes. Leading 0s are recommended for esthetic purposes but are not required. While the standard Hayes-default of ASCII 43 (/S2=043, the "+" sign) can be used, we recommend that a control code be used instead to insure system security (control codes are ASCII characters 001 through 031). Note that the character selected will be stripped from all input to prevent users, .BLT and .POL files from placing modems into local mode. System performance may decrease slightly when using alternate escape codes on 4.77MHz PC XT-class computers due to the overhead imposed by input monitoring and stripping. Turbo-XTs, 286, 386 and faster machines will not suffer a performance penalty. See also the "Editing the BBS.BAT file" section, under "/S2=###." 66 6. Some older Practical Peripheral's (PPI) modems do not respond to the modified escape code sent by BBSX at the end of a call and, consequently, cannot hang up the phone. Practical Peripherals has acknowledged that a bug in the PPI EPROM, versions 1.04 and earlier, is at the root of this problem. Owners of PPI modems can call PPI Tech Support at 1-818-706-2474 and request a free EPROM upgrade. 7. If device I/O errors are generated while BBSX is initializing, confirm that the BAUD_RATE field specified in BBSX.INI is not higher than the maximum baud rate supported by the modem and that the number specified for the RS232C communications channel in the COM_PORT field is correct. Some serial cards and internal modems use the incorrect IRQs for COM1 and COM2; if this is the case, BBSX will generate a "Device I/O error" or "Device unavailable" error even if the number specified for the RS232C communications channel in the COM_PORT field is correct. Confirm that COM1 is configured to use IRQ4 and that COM2 is configured to use IRQ3. BBSX may fail to operate properly if two devices are connected to the same IRQ line used by BBSX. See also the "Editing the BBSX.INI file" section, under "BAUD_RATE=." 8. Some modems (including genuine Hayes Smartmodems and Motorola UDS') generate spurious ^Cs during handshaking with MNP-compatible modems. BBSX interprets the ^Cs as a BREAK command and disconnects the incoming caller. Some other modems simply freak-out when they encounter MNP handshaking and hang up on their own. When these problems are encountered, the best work-arounds are to request callers using MNP to send an AT&E0 command to their modem (which disables MNP) before dialing in or, if BBSX is running with MNP enabled, to remove the &E1 command from the MODEM_INI field (see also the "Editing the BBSX.INI file" section, under "MODEM_INI="). BBSX'S F-KEY ASSIGNMENTS The following function keys can be used at any time while BBSX is operational: 67 System keys On-line keys ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ F1 Help F2 Who's on F3 Speaker on/off F4 Extended caller info F5 Screen on/off F6 Force chat F7 Reserve system F8 Disconnect caller F9 Day/date/time F10 Clear/cancel HOW TO Create or Convert File Description Files Files area file descriptions are stored in ASCII text files named FILES.LST. Each FILES_PATH must contain a FILES.LST file; FILES_PATHs that do not contain a FILES.LST file will cause BBSX to generate the message "No FILES available to DOWNLOAD in this AREA - Why not UPLOAD one?" in response to user download requests (see also the "Editing the FILES.INI file" section, under "FILES_PATH."). The INSTALL.BAT file created temporary FILES.LST files during the installation process. FILES.LST files are formatted exactly like the output of the DOS "DIR" command. The easiest way to create or add information to FILES.LST files is to use the following commands or to create a batch file that executes these commands for you: CD [files_path*] DIR >> FILES.LST (*See also the "Editing the FILES.INI file" section, under "FILES_PATH.") FILES.LST must be edited using an ASCII editor operating in non-document mode. After loading FILES.LST into any ASCII editor, the following text will be displayed. Delete the DOS-specific data and keep the file-specific formatting data: 68 Volume in drive C is BBSX <- Delete Directory of C:\BBSX\FILES <- Delete <- KEEP . 8-09-88 6:29p <- Delete .. 8-09-88 6:29p <- Delete FOOBAR MS 1234 1-01-80 12:24a <- KEEP BASIC60I S#1 1988 10-08-88 11:09a <- KEEP UNIX TIM 1990 7-04-90 12:00a <- KEEP WHATSUP DOC 808 7-30-86 9:44a <- KEEP FILES LST 0 8-13-88 8:21a <- Delete SHNICK ARC 128 12-12-52 12:55p <- KEEP SHLOOCH LZH 4 9-15-89 8:49p <- KEEP PLORK TXT 3476 9-30-88 1:59p <- KEEP 10 File(s) 922509568 bytes free <- Delete || || Column 24 | Column 25 Next, delete the time stamps and enter the file descriptions where the time stamps used to be (2 characters after the file dates). Descriptions can be up to 47 characters long: FOOBAR MS 1234 1-01-80 MSoft Foo-Bar usage notes BASIC60I S#1 1988 10-08-88 BC 6.0 for the Macintosh UNIX TIM 1990 7-04-90 The future of multi-tasking WHATSUP DOC 808 7-30-86 Docs for use BUNNY v.1.0 SHNICK ARC 128 12-12-52 A rather shnickity program SHLOOCH LZH 4 9-15-89 Don't shlooch now but .... PLORK TXT 3476 9-30-88 Problems with plorked disks To convert RBBS, PCBoard, Postmaster or other ASCII text file descriptions to BBSX's file format, rename the old files "FILES.LST." Next, confirm that the date fields start in the 24th column of the text; reformat the files to conform to BBSX's layout if they don't already (BBSX's "NEW" files search requires BBSX-formatted FILES.LST files for proper operation). Note that months less than two digits long have a blank space in the 24th column (see diagram, above). See also the "Editing the BBS.BAT file" section, under "/DL[ALL]." Use Another Disk or Subdirectory Name For reference purposes, this document calls the main BBSX disk drive "c:" and the BBSX data directory "BBSX." You can name and locate the main BBSX disk drive and data directory any way and anywhere you like. Remember to change the BBSX-related .BAT and .INI files to reflect the correct drive and directory where BBSX files are stored (see also the "Editing the [filename].BAT file" and the "Editing the [filename].INI" sections). 69 Use COM3 and COM4 BBSX is written in Microsoft Professional BASIC, version 6.00b (G*d bless it). MS-ProBAS provides support for COM1 and COM2; no support is provided for COM3 and COM4 even through Microsoft's own MS-DOS and OS/2 operating systems support COM3 and COM4 devices. COM3 and COM4 can be used with compiled MS-ProBAS programs (like BBSX) by swapping either device with COM1 or COM2. There are a number of public domain and shareware utilities which can perform this operation; one, PF2.LZH, is available for downloading on the Mother Board BBS (215-333-8275). WHAT TO DO IF File Transfers Bomb The PROTOCOL.INI or FTX.BAT file configurations are incorrect. See the "Storing the PROTOCOL.INI file" and the "Storing the FTX.BAT file" sections. The Modem Hangs Up on Callers The modem is not 100% Hayes-compatible or is an MNP-class modem connecting to a non-MNP-class modem (or vice versa) or is not set to ignore the status of DTR. See the "REQUIRED MODEM DIP-SWITCH SETTINGS" section. The Modem Speaker Won't Shut-Up The modem is not 100% Hayes-compatible or the MODEM_TIMER field in BBSX.INI is not set correctly. See the "Editing the BBSX.INI file" section, under "MODEM_TIMER=" and the "REQUIRED MODEM DIP-SWITCH SETTINGS" section. The Modem Takes the Phone Off-Hook This is not a bug or an incompatibility. BBSX is designed to take the modem "off hook" at the end of a session and when exiting to DOS in order to generate a busy signal when the BBS is off-line. This prevents callers from attempting to log in to an off-line board. The Modem Won't Hang Up The modem is not 100% Hayes-compatible or the MODEM_INI and MODEM_TIMER fields in BBSX.INI are not set correctly. See the "Editing the BBSX.INI file" section, under "MODEM_INI=" and "MODEM_TIMER=," and see the "REQUIRED MODEM DIP-SWITCH SETTINGS" section. The System Hangs During Drops-To-DOS The DOS.BAT file is not configured correctly. See the "Editing the DOS.BAT file" section. 70 ERROR CODES AND EXPLANATIONS 1. Endless loop error See "Loop error." 2. Bad command or file name BBSX was unable to launch a child process (like DAILY.BAT, DOORS.BAT, DOS.BAT, FTX.BAT, DSZ.EXE or ZOO.EXE). Confirm that the child-process files are stored in the BBSX subdirectory or in a subdirectory specified by the PATH environment variable. See also the "Editing the [filename].BLT" sections. 3. Bad file name Bad file name or number See "Path/File access error." 4. Bad FILES_PATH in BBSX.INI or FILES.INI A FILES_PATH field in BBSX.INI or FILES.INI contains illegal characters or does not exist. Double check the FILES_PATHs to confirm that the path names are considered legal by DOS and that they actually exist (see also the "Editing the FILES.INI file" section, under "FILES_PATH="). 5. Bad or outdated [filename].HDR BBSX encountered a corrupted or outdated .HDR file. Delete the file and its associated .MSG and .PTR files. If the original BBSX distribution package's DAILY.BAT file is in use (see also the "Editing the DAILY.BAT file" section), current backups might be stored in the BAK . Restore the files from the backups. 6. Bad or outdated USER.LOG BBSX encountered a corrupted or outdated USER.LOG file. Delete the file and its associated INDEX.LOG. 71 If the original BBSX distribution package's DAILY.BAT file is in use (see also the "Editing the DAILY.BAT file" section), current backups might be stored in the BAK . Restore the files from the backups. 7. BBSX.INI file not found BBSX cannot find the BBSX.INI file in the BBSX subdirectory. The BBSX.INI file must be stored in the directory specified by the BBS.BAT file (see also the "Editing the BBSX.INI file" and the "Editing the BBS.BAT file" sections). 8. Call synchronization error BBSX encountered an incoming call before or during program initialization, or at the precise moment a local user entered local mode. Ignore the error unless it prevents BBSX from operating. BBSX will wait for the remote caller to hang up and will then recycle. 9. Communication-buffer overflow The communications receive buffer overflowed. Ignore the error unless it prevents BBSX from operating. Usually caused by an on-line user leaning on the keyboard, mismatched communication parameters or excessive line noise. 10. Device fault Device timeout Disk media error Disk not ready Indicates a hardware error (like an open disk drive door or a bad, non-existent or incorrectly specified device) or a hardware failure (such as a damaged disk). Retry the operation after checking disks, disk drive doors, printer switches, cables, connections and related hardware. 72 11. Device I/O error An unrecoverable I/O error occurred. Ignore the error unless it prevents BBSX from operating. This error can be caused by any random, spurious communications activity; usually caused by an on-line user repeatedly striking ^ScrollLock, sending extended break signals, leaning on the keyboard, mismatched communication parameters, excessive line noise or incorrect BAUD_RATE or COM_PORT fields in BBSX.INI (see also the "Editing the BBSX.INI file" section, under "BAUD_RATE=" and "COM_PORT="). The modified escape code sent by BBSX at the end of each call may not be processed correctly by modems that are not 100% Hayes-compatible, possibly causing this error (see also the "Editing the BBS.BAT file" section, under "/S2=###" and the "REQUIRED MODEM DIP-SWITCH SETTINGS" section). 12. Device unavailable BBSX attempted to access a device that is not on-line or does not exist. Check disk drive doors, printer switches, cables, connections and related hardware. Review the BBSX.INI file to confirm that the number specified for the RS232C communications channel in the COM_PORT field is correct (see also the "Editing the BBSX.INI file" section, under "COM_PORT="). Some serial cards and internal modems use incorrect IRQs for COM1 and COM2; if this is the case, BBSX will generate a "Device I/O error" or "Device unavailable" error even if the number specified for the RS232C communications channel in the COM_PORT field of BBSX.INI is correct (see also the "Editing the BBSX.INI file" section, under "COM_PORT="). Confirm that COM1 is configured to use IRQ4 and that COM2 is configured to use IRQ3. Note that BBSX may fail to operate properly if two devices are connected to the same IRQ line used by BBSX. 73 13. Disk full The disk is full. Retry the operation using another disk or delete some non-BBSX related files from the current disk. 14. Error in EXE file The BBSX.EXE or BRUN61AR.EXE files are corrupt. Replace the BBSX.EXE and BRUN61AR.EXE files with certified clean copies downloaded direct from one of BBSX's principal distribution points (see also the "UPGRADE POLICY" section for a list of authorized distribution points or call 215-333-8274 to arrange for the purchase of a new BBSX master disk). 15. File contains 0 bytes A request was made to download a file that did not contain data. Ignore the error unless it prevents BBSX from operating. BBSX deletes 0-byte files after generating this error message. 16. File not found An input filespec does not exist. Retry the operation using a valid input filespec. 17. Illegal function call Usually caused when BBSX encounters a corrupted USER.LOG file. Delete the file and its associated INDEX.LOG. If the original BBSX distribution package's DAILY.BAT file is in use (see also the "Editing the DAILY.BAT file" section), current backups might be stored in the BAK . Restore the files from the backups. 18. Out of environment space There is not enough DOS environment space available. 74 Increase environment space with the DOS SHELL command. See your DOS manual for information on the SHELL command. 19. Out of memory BBSX needs more RAM than is available. Unload TSRs (memory resident utilities like "SideKick") or buy an expansion card to increase the amount of on-board RAM. Decrease the number of message lines and/or NODE.LOG buffers specified in the MESSAGE_LINES and NODE_LOG_BUFFER fields of BBSX.INI (see also the "Editing the BBSX.INI file" section, under "MESSAGE_LINES=" and "NODE_LOG_BUFFER="). 20. Out of paper The printer is out of paper or the paper is jammed. Add paper or clear the paper path. 21. Out of stack space BBSX requires more stack space than is available. This is usually a fatal error; the system will halt until a key is pressed on the local keyboard. Increase the size of BBSX's stack using the /ST[ACK]: start-up command (see also the "Editing the BBS.BAT file" section, under "/ST[ACK]:#####"). 22. Out of string space BBSX's internal 64k string space buffer overflowed. Ignore the error unless it prevents BBSX from operating or unload TSRs (memory resident utilities like "SideKick") or buy an expansion card to increase the amount of on-board RAM. Decrease the number of message lines and/or NODE.LOG buffers specified in the MESSAGE_LINES and/or NODE_LOG_BUFFER fields of BBSX.INI (see also the "Editing the BBSX.INI file" section, under "MESSAGE_LINES=" and "NODE_LOG_BUFFER="). 75 23. Path/File access error Path not found An input file or path specified in BBSX.INI or FILES.INI does not exist. Review the BBSX.INI and FILES.INI files to confirm that the specified files and paths exist on the hard disk and that the path names are syntactically correct (see also the "Editing the BBSX.INI file" section, under "UPLOAD_PATH=" and the "Editing the FILES.INI file" section, under "FILES_PATH="). 24. Permission denied An attempt was made to write to a write-protected disk or to a locked file in a multi-user environment. Retry the operation or ignore the error unless it prevents BBSX from operating. 25. /SYSOP switch active The /SYSOP start-up switch was used on the BBSX command-line. Remove the /SYSOP switch from the command-line. 26. Too many files BBSX was unable to open multiple files. Try adding the following statement to the CONFIG.SYS file: FILES = 25 27. Too many response lines allocated in [ *.POL ] The total number of allocated responses (input commands) in the individual .POL file exceeds 999. Reduce the number of allocated responses. A maximum of 999 response lines per .POL file is allowed. 28. [ . . . ] command failed The modem did not acknowledge the successful processing of the command(s) featured within the brackets. 76 The modem may not be 100% Hayes-compatible or the MODEM_INI and MODEM_TIMER fields in BBSX.INI are not set correctly. If this error occurs consistently, confirm that the commands specified in the MODEM_INI field of BBSX.INI are supported by your modem. Try increasing the setting of the MODEM_TIMER field in BBSX.INI. See also the "Editing the BBSX.INI file" section, under "MODEM_INI=" and "MODEM_TIMER=," and see the "REQUIRED MODEM DIP-SWITCH SETTINGS" section. 29. Loop error See "Endless loop error." FATAL ERRORS The following error messages should never be encountered. If they are, they indicate a program design problem (read: BUG) within BBSX. Contact us if any of these error messages are displayed more than once: 77 Code Explanation ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 001 NEXT without FOR 002 Syntax error 003 RETURN without GOSUB 004 Out of DATA 006 Overflow 008 Undefined line number 009 Subscript out of range 010 Duplicate definition 011 Division by zero 012 Illegal direct 013 Type mismatch 015 String too long 016 String formula too complex 017 Can't continue 018 Undefined user function 019 No RESUME 020 RESUME without ERROR 022 Missing operand 023 Line buffer overflow 026 FOR without NEXT 029 WHILE without WEND 030 WEND without WHILE 039 CASE ELSE expected 040 Variable required 050 FIELD overflow 051 Internal error 053 File not found 054 Bad file mode 055 File already open 056 FIELD statement active 058 File already exists 059 Bad record length 062 Input past end of file 063 Bad record number 066 Direct statement in file 073 Advanced feature unavailable 074 Rename across disks 198 User record alias error 199 Event-flag error 200 Inter-module communication error 252 Registration error ??? Unassigned error APPENDIX A - FILE TRANSFER TECHNICAL REFERENCE Editing the FTX.BAT file The following information is provided for experienced batch-file programmers only; to guarantee its correct operation, non-programmers should not edit FTX.BAT. 78 BBSX provides strong support for most (if not all) external file transfer protocol drivers. Omen Technology's DSZ program is recommended for use with BBSX to support Xmodem (128 and 1k), Xmodem Overthruster, Ymodem (128 and 1k), Ymodem-G, Zmodem, Zmodem with Crash Recovery, Zmodem with Data Compression, Zmodem with Crash Recovery and Data Compression, as well as mutant variations on these standard protocols. Omen Technology's ZCOMM also supports those protocols, as well as Kermit, Sealink and perhaps others. Any manufacturer's protocol drivers can be used with BBSX, provided they support standard command syntax and error reporting conventions (as do Omen Technology's DSZ and ZCOMM programs). Protocol drivers that do not generate an ERRORLEVEL corresponding to the success or failure of a file transfer prevent batch-file programmers from testing for those conditions in FTX.BAT. BBSX sends the following information to FTX.BAT. Do not attempt to modify the parameter control code in FTX.BAT if you are not an experienced batch-file programmer: Parameter = Data sent by BBSX ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %1 = COM port # (1 or 2) %2 = baud rate (300, 1200, 2400 or 9600) %3 = s = user download, r = user upload %4 = PROTOCOL_CODE* selected by user %5 = target file (sent as [files_path*][filename.ext]) (*See also the "Editing the PROTOCOL.INI file" section and the "Editing the FILES.INI file" section, under "FILES_PATH.") The steps to add support for additional protocol drivers are: 1. Add new PROTOCOL_NAMEs and PROTOCOL_CODEs to the PROTOCOL.INI file that correspond to the new protocols being added. 2. Add the conditional branch for each new protocol if (%4) == ([PROTOCOL_CODE]) goto [label] beneath FTX.BAT's ":top" label. 3. Port the batch file code under the ":dsz" label to suit the new protocol driver application programs. (See also the "Editing the PROTOCOL.INI file" section, under "PROTOCOL_NAME" and "PROTOCOL_CODE.") 79 The "if errorlevel" portion of the code tests for failed downloads and uploads. The logic followed is: if errorlevel = 1 (failure) then delete the bbsx.tmp file end if Because the Microsoft Professional BASIC Compiler v.6.00b is unable to retrieve the errorlevel of a child process without extensive fiddling, BBSX.TMP is created by BBSX before file transfers; non-existence tells BBSX that the transfer failed.) Note that aborted uploads cause FTX.BAT to delete the incomplete file. Programmers can modify this action if so desired. FTX.BAT must be edited using an ASCII editor operating in non-document mode. After loading FTX.BAT into any ASCII editor, the following text will be displayed: 80 @echo off echo off goto top Rich Levin's BBSX (tm) FTX.BAT Copyright (c) 1988-1990 Richard B. Levin All Rights Reserved :top if (%4) == (b) goto dsz if (%4) == (b-g) goto dsz if (%4) == (b-k) goto dsz if (%4) == (x) goto dsz if (%4) == (x-k) goto dsz if (%4) == (xo) goto dsz if (%4) == (z) goto dsz if (%4) == (z-r) goto dsz if (%4) == (z-Z) goto dsz if (%4) == (z-r-Z) goto dsz goto s_err :dsz if (%3) == (r) goto dsz_r if (%3) == (s) goto dsz_s goto xit :dsz_r dsz port %1 speed %2 r%4 %5 if errorlevel 1 goto r_err if not exist %5 goto r_err goto xit :dsz_s dsz port %1 speed %2 s%4 %5 if errorlevel 1 goto s_err goto xit :r_err rem failed receives/uploads branch here rem change del %5 to ren %5 to save aborted uploads if exist %5 del %5 if exist bbsx.tmp del bbsx.tmp goto xit :s_err rem failed sends/downloads branch here if exist bbsx.tmp del bbsx.tmp goto xit :xit if exist *.$$$ del *.$$$ cd \bbsx 81 Editing the PROTOCOL.INI file PROTOCOL.INI must be edited using an ASCII editor operating in non-document mode. After loading PROTOCOL.INI into any ASCII editor, the following text will be displayed: ~ Rich Levin's BBSX (tm) ~ PROTOCOL.INI ~ Copyright (c) 1988-1990 Richard B. Levin ~ All Rights Reserved ~ ~ Precede comments with a tilde ~ Delete comments to optimize this file ~ PROTOCOL_NAME=Xmodem w/128-byte blocks PROTOCOL_CODE=x PROTOCOL_NAME=Xmodem w/1024-byte blocks PROTOCOL_CODE=x-k PROTOCOL_NAME=Xmodem w/Overthruster PROTOCOL_CODE=xo PROTOCOL_NAME=Ymodem w/128-byte blocks PROTOCOL_CODE=b PROTOCOL_NAME=Ymodem w/1024-byte blocks PROTOCOL_CODE=b-k PROTOCOL_NAME=Ymodem G PROTOCOL_CODE=b-g PROTOCOL_NAME=Zmodem PROTOCOL_CODE=z PROTOCOL_NAME=Zmodem w/Crash Recovery PROTOCOL_CODE=z-r PROTOCOL_NAME=Zmodem w/Data Compression PROTOCOL_CODE=z-Z PROTOCOL_NAME=Zmodem w/Crash Recovery & Data Compression PROTOCOL_CODE=z-r-Z END_OF_PROTOCOLS=Y Edit each field to reflect your configuration requirements: 1. ~ Rich Levin's BBSX (tm) A comment. Text preceded by a tilde character and a space (tilde+space) is ignored by BBSX. Always place a space between the tilde and the comment; otherwise, BBSX might interpret the text following the tilde as a file output control command (see the "Editing the MENU.BLT file" and the "Editing the MENU.POL file" sections). 2. PROTOCOL_NAME= The name of a file transfer protocol. 50 characters maximum. Control characters and high-bit ASCII are accepted. 82 Every PROTOCOL_NAME must be followed by a PROTOCOL_CODE. 3. PROTOCOL_CODE= The protocol identification command parameter sent by BBSX to FTX.BAT (see the "Editing the FTX.BAT file" section). 9 characters maximum. Every PROTOCOL_CODE must be preceded by a PROTOCOL_NAME. IMPORTANT: Do not use spaces in the PROTOCOL_CODE field; they prevent BBSX from supplying drive, path and file name data to FTX.BAT. 4. END_OF_PROTOCOLS=Y An end-of-data (EOD) flag. Must be the last entry in PROTOCOL.INI. BBSX stops searching for PROTOCOL.INI fields when this entry is encountered. This EOD flag also allows users to optionally merge the PROTOCOL.INI file into BBSX.INI, thereby providing a central initialization file. If the PROTOCOL.INI fields are merged into BBSX.INI, the PROTOCOL.INI file is not used; however, BBSX performs better when the PROTOCOL.INI and BBSX.INI files are not merged. APPENDIX B - INSTALLING DOORS TO EXTERNAL PROGRAMS Editing the DOORS.INI file DOORS.INI is the control file used by BBSX to manage the selection of external programs accessed through BBSX doors (the term "door" is popularly used to describe links between otherwise unrelated, independent programs). This file is optional, used only by systems supporting a variety of programs, each accessed through its own BBSX door. If you do not plan to support doors or do not yet have any external programs to install, or if you are in a hurry to get BBSX up and running, remove the DOORS.INI file from the BBSX subdirectory. DOORS.INI must be edited using an ASCII editor operating in non-document mode. After loading DOORS.INI into any ASCII editor, the following text will be displayed (note that the featured door programs are examples only; BBSX is not distributed with any external door programs): 83 ~ Rich Levin's BBSX (tm) ~ DOORS.INI ~ Copyright (c) 1988-1990 Richard B. Levin ~ All Rights Reserved ~ ~ Precede comments with a tilde ~ Delete comments to optimize this file ~ DOORS_SECURITY=1 DOORS_PASSWORD= DOORS_NAME=Checkers DOORS_CODE=1 DOORS_NAME=Chess DOORS_CODE=2 DOORS_NAME=Lottery Simulation DOORS_CODE=3 DOORS_NAME=Othello DOORS_CODE=4 END_OF_DOORS=Y Edit each field to reflect your configuration requirements: 1. ~ Rich Levin's BBSX (tm) A comment. Text preceded by a tilde character and a space (tilde+space) is ignored by BBSX. Always place a space between the tilde and the comment; otherwise, BBSX might interpret the text following the tilde as a file output control command (see the "Editing the MENU.BLT file" and the "Editing the MENU.POL file" sections). 2. DOORS_SECURITY= The security level required to access the doors defined below it. Three characters maximum. Use a whole number from 0 to 999. DOORS_SECURITY settings must appear before other DOORS.INI fields. Multiple DOORS_SECURITY settings can be used. Each DOORS_SECURITY setting affects the doors defined below it. If multiple DOORS_SECURITY settings are used, a default DOORS_SECURITY setting must be the first field in DOORS.INI. This prevents the last DOORS_SECURITY setting encountered from looping back to the top. If a DOORS_SECURITY setting does not appear, the NEW_USER_SECURITY will be used in its place (see the "Editing the BBSX.INI file" section, under "NEW_USER_SECURITY="). 84 3. DOORS_PASSWORD= The password required to access the doors defined below it. 25 characters maximum. Control and high-bit ASCII characters are accepted. DOORS_PASSWORDs must appear after a DOORS_SECURITY setting. Use a blank DOORS_PASSWORD to unprotect doors. Each blank DOORS_PASSWORD unprotects the doors defined below it. Multiple DOORS_PASSWORDs can be used. Each DOORS_PASSWORD affects the doors defined below it. If multiple DOORS_PASSWORDS are used, a default or blank DOORS_PASSWORD must be the second field in DOORS.INI. This prevents the last DOORS_PASSWORD encountered from looping back to the top. If a DOORS_PASSWORD does not appear, all doors will be unprotected by passwords. 4. DOORS_NAME= The name of a door. 50 characters maximum. Control, ANSI and high-bit ASCII characters are accepted. Every DOORS_NAME must be followed by a DOORS_CODE. 5. DOORS_CODE= The door identification command parameter sent by BBSX to DOORS.BAT (see the "Editing the DOORS.BAT file" section). 9 characters maximum. Every DOORS_CODE must be preceded by a DOORS_NAME. IMPORTANT: Do not use spaces in the DOORS_CODE field; they prevent BBSX from supplying additional parameter data to DOORS.BAT. 6. END_OF_DOORS=Y An end-of-data (EOD) flag. Must be the last entry in DOORS.INI. BBSX stops searching for DOORS.INI fields when this entry is encountered. 85 This EOD flag also allows users to optionally merge the DOORS.INI file into BBSX.INI, thereby providing a central initialization file. If the DOORS.INI fields are merged into BBSX.INI, the DOORS.INI file is not used; however, BBSX performs better when the DOORS.INI and BBSX.INI files are not merged. General information about DOORS.INI The following rules apply to DOORS.INI: 1. DOORS.INI must be stored in the BBSX subdirectory. 2. To disable DOORS.INI, remove it from the BBSX subdirectory. 3. If the DOORS.INI fields cannot be found in the BBSX subdirectory, BBSX will display the message "No DOORS available" when requested to list them. 4. DOORS.INI is a dynamic configuration file; it can be updated at any time after installation without adversely affecting BBSX operations (provided such changes are implemented correctly). 5. There is no limit to the number of doors (DOORS_NAMEs and DOORS_CODEs), door security levels (DOORS_SECURITYs) and door passwords (DOORS_PASSWORDs) that BBSX can support. 6. SysOps and Co-SysOps are not queried for a DOORS_PASSWORD when accessing protected doors. Examples of DOORS.INI files The following examples demonstrate how the DOORS.INI fields provide SysOps with the flexibility to support a variety of external programs accessible through BBSX doors: 1. This example allows users between security levels 2 through 999 access to the Blackjack, Checkers and Chess doors. Security levels 500 through 999 can access the Othello door. Levels below 2 cannot access any doors.* No passwords are used. 86 DOORS_SECURITY=2 DOORS_PASSWORD= ~ DOORS_NAME=Blackjack DOORS_CODE=1 ~ DOORS_NAME=Checkers DOORS_CODE=2 ~ DOORS_NAME=Chess DOORS_CODE=3 ~ DOORS_SECURITY=500 DOORS_NAME=Othello DOORS_CODE=4 ~ END_OF_DOORS=Y 2. This example allows users between security levels 2 through 999 access to the Blackjack and Checkers doors. Security levels 500 through 999 can access the Chess and Othello doors. Levels below 2 cannot access any doors.* No passwords are used. DOORS_SECURITY=2 DOORS_PASSWORD= ~ DOORS_NAME=Blackjack DOORS_CODE=1 ~ DOORS_NAME=Checkers DOORS_CODE=2 ~ DOORS_SECURITY=500 ~ DOORS_NAME=Chess DOORS_CODE=3 ~ DOORS_NAME=Othello DOORS_CODE=4 ~ END_OF_DOORS=Y 3. This example allows users between security levels 2 through 999 access to the Blackjack door, allows levels 3 through 999 access to the Checkers door, allows levels 4 through 999 access to the Chess door and allows levels 5 through 999 access to the Othello door. Levels below 2 cannot access any doors.* No passwords are used. 87 DOORS_SECURITY=2 DOORS_PASSWORD= DOORS_NAME=Blackjack DOORS_CODE=1 ~ DOORS_SECURITY=3 DOORS_NAME=Checkers DOORS_CODE=2 ~ DOORS_SECURITY=4 DOORS_NAME=Chess DOORS_CODE=3 ~ DOORS_SECURITY=5 DOORS_NAME=Othello DOORS_CODE=4 ~ END_OF_DOORS=Y 4. This example allows users between security levels 2 through 999 access to the Blackjack, Checkers and Chess doors, without requiring passwords. Access to the Othello door is limited to users between security levels 2 through 999 who know the password "dinner.dial" Levels below 2 cannot access any doors.* DOORS_SECURITY=2 DOORS_PASSWORD= ~ DOORS_NAME=Blackjack DOORS_CODE=1 ~ DOORS_NAME=Checkers DOORS_CODE=2 ~ DOORS_NAME=Chess DOORS_CODE=3 ~ DOORS_PASSWORD=dinner.dial DOORS_NAME=Othello DOORS_CODE=4 ~ END_OF_DOORS=Y 5. This example allows users between security levels 2 through 999 access to the Blackjack and Checkers doors. Access to the Chess and Othello doors is limited to users between security levels 2 through 999 who know the password "pin!bumper." Levels below 2 cannot access any doors.* 88 DOORS_SECURITY=2 DOORS_PASSWORD= ~ DOORS_NAME=Blackjack DOORS_CODE=1 ~ DOORS_NAME=Checkers DOORS_CODE=2 ~ DOORS_PASSWORD=pin!bumper ~ DOORS_NAME=Chess DOORS_CODE=3 ~ DOORS_NAME=Othello DOORS_CODE=4 ~ END_OF_DOORS=Y 6. This example allows users between security levels 2 through 999 access to all doors, provided they know the passwords. Levels below 2 cannot access any doors.* DOORS_SECURITY=2 ~ DOORS_PASSWORD=face@wood DOORS_NAME=Blackjack DOORS_CODE=1 ~ DOORS_PASSWORD=manual#luggage DOORS_NAME=Checkers DOORS_CODE=2 ~ DOORS_PASSWORD=spin$piece DOORS_NAME=Chess DOORS_CODE=3 ~ DOORS_PASSWORD=staple%post DOORS_NAME=Othello DOORS_CODE=4 ~ END_OF_DOORS=Y 7. This example allows users between security levels 2 through 999 access to the Blackjack and Checkers doors, provided they know the passwords; levels 500 through 999 have password protected access to the Chess and Othello doors. Levels below 2 cannot access any doors.* 89 DOORS_SECURITY=2 ~ DOORS_PASSWORD=light^away DOORS_NAME=Blackjack DOORS_CODE=1 ~ DOORS_PASSWORD=dos&windows DOORS_NAME=Checkers DOORS_CODE=2 ~ DOORS_SECURITY=500 ~ DOORS_PASSWORD=tab*density DOORS_NAME=Chess DOORS_CODE=3 ~ DOORS_PASSWORD=buffer(log DOORS_NAME=Othello DOORS_CODE=4 ~ END_OF_DOORS=Y 8. This example allows users between security levels 2 through 999 access to the Blackjack door, allows levels 3 through 999 access to the Checkers door, allows levels 4 through 999 access to the Chess door and allows levels 5 through 999 access to the Othello door. All doors are individually password protected. Levels below 2 cannot access any doors.* DOORS_SECURITY=2 DOORS_PASSWORD=recover)time DOORS_NAME=Blackjack DOORS_CODE=1 ~ DOORS_SECURITY=3 DOORS_PASSWORD=clear_foam DOORS_NAME=Checkers DOORS_CODE=2 ~ DOORS_SECURITY=4 DOORS_PASSWORD=callers-out DOORS_NAME=Chess DOORS_CODE=3 ~ DOORS_SECURITY=5 DOORS_PASSWORD=atari+synapse DOORS_NAME=Othello DOORS_CODE=4 ~ END_OF_DOORS=Y 90 These examples demonstrate how DOORS_SECURITY and DOORS_PASSWORD fields can be mixed and matched to create an infinite variety of configurations. *Note: Users will be unable to access any doors if their security level is less than the SECURITY_TO_OPEN_DOORS (see the "Editing the BBSX.INI file" section, under "SECURITY_TO_OPEN_DOORS="). Editing the DOORS.BAT file DOORS.BAT is the batch file used by BBSX to control the operation of external programs run through BBSX doors. This file is optional, used only by systems supporting a variety of programs, each accessed through its own BBSX door. If you do not plan to support doors or do not have any external programs to install, or if you are in a hurry to get BBSX up and running, remove the DOORS.BAT file from the BBSX subdirectory and from subdirectories specified by the PATH environment variable. BBSX's generic door interface provides support for all popular external program door-interface data file formats (including industry standards like RBBS's, PC-Board's and others). Any manufacturer's external programs can be used provided they support standard command-syntax and error reporting conventions. Consult your external door program manual(s) for program-specific configuration information or call us for free installation support. BBSX sends the following information to DOORS.BAT: Parameter = Data sent by BBSX ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ %1 = DOORS_CODE* selected by user %2 = COM port # (1 or 2) %3 = baud rate (300, 1200, 2400 or 9600) %4 = user's USER.LOG record number %5 = user's first name %6 = user's last name %7 = user's access level (1 - 1440) %8 = user's security level (1 - 999) %9 = user's on-line time remaining (1 - 1440) (*See also the "Editing the DOORS.INI file" section.) The steps to add support for new external programs are: 1. Add new DOORS_NAMEs and DOORS_CODEs to the DOORS.INI file that correspond to the new external programs being added. 2. Add the conditional branch for each new external program 91 if (%1) == ([DOORS_CODE]) goto [label] beneath DOORS.BAT's ":top" label. 3. Port the sample batch file code under any of DOORS.BAT's sample ":door" labels to suit the new application programs. (See also the "Editing the DOORS.INI file" section, under "DOORS_NAME" and "DOORS_CODE.") DOORS.BAT must be edited using an ASCII editor operating in non-document mode. After loading DOORS.BAT into any ASCII editor, the following text will be displayed: 92 @echo off echo off goto top Rich Levin's BBSX (tm) DOORS.BAT Copyright (c) 1988-1990 Richard B. Levin All Rights Reserved :top if (%1) == (1) goto door1 if (%1) == (2) goto door2 if (%1) == (3) goto door3 if (%1) == (4) goto door4 goto xit :door1 echo %2 %3 %4 %5 %6 %7 %8 %9 > \bbsx\door1.dat rem run door1 here goto xit :door2 echo %2 > \bbsx\door2.dat echo %3 >> \bbsx\door2.dat echo %4 >> \bbsx\door2.dat echo %5 >> \bbsx\door2.dat echo %6 >> \bbsx\door2.dat echo %7 >> \bbsx\door2.dat echo %8 >> \bbsx\door2.dat echo %9 >> \bbsx\door2.dat rem run door2 here goto xit :door3 echo BBS name = The Mother Board BBS > \bbsx\door3.dat echo SysOp name = Rich Levin >> \bbsx\door3.dat echo COM port = %2 >> \bbsx\door3.dat echo Baud rate = %3 >> \bbsx\door3.dat echo User record = %4 >> \bbsx\door3.dat echo User name = %5 %6 >> \bbsx\door3.dat echo User access = %7 >> \bbsx\door3.dat echo User security = %8 >> \bbsx\door3.dat echo Time remaining = %9 >> \bbsx\door3.dat rem run door3 here goto xit :door4 door4 %2 %3 %4 %5 %6 %7 %8 %9 goto xit :xit c: cd \bbsx 93 General information about DOORS.BAT The following rules apply to DOORS.BAT: 1. DOORS.BAT must be stored in the BBSX subdirectory or in a subdirectory specified by the PATH environment variable. 2. To disable DOORS.BAT, remove it from the BBSX subdirectory and from subdirectories specified by the PATH environment variable. 3. If DOORS.BAT cannot be found on disk, BBSX will display the message "Bad command or file name" after attempting to launch the child process. 4. External programs must be stored in the BBSX subdirectory or in a subdirectory specified by the PATH environment variable. 5. If external programs cannot be found on disk, BBSX will display the message "Bad command or file name" after attempting to launch them. 6. A copy of COMMAND.COM must be stored in the BBSX subdirectory or in a subdirectory specified by the PATH environment variable. 7. To insure DOORS.BAT's correct operation, the COMSPEC environment variable should be SET in the AUTOEXEC.BAT file: SET COMSPEC=[d:][path]COMMAND.COM See your DOS manual for information on the COMSPEC environment variable. 8. There must be sufficient RAM available to load and run COMMAND.COM after BBSX has loaded. 9. BBSX relinquishes system control to external programs after they are launched. Therefore, external programs are fully responsible for maintaining system security, monitoring DCD (data carrier detect), enforcing time limits, and so on, until they terminate and system control is returned to BBSX. For this reason, avoid using external programs that do not provide strong system security features. 10. Do not use external programs that require a CTTY command in order to operate. Use of such programs could result in a severe breach of system security and may cause data corruption. 94 11. Do not use external programs that require the pre-loading of a carrier detection monitor in order to operate. Use of such programs could result in a severe breach of system security and may cause data corruption. 12. External programs that require the pre-loading of communications drivers to provide full-screen remote access to otherwise incompatible programs are, for the most part, usable through BBSX doors, as long as they adhere to BBSX's strong system security requirements and do not demand unusual installation configurations (such as CTTY usage). Examples of DOORS.BAT files The following examples demonstrate how the DOORS.BAT file can provide SysOps with the flexibility to support a variety of external programs run through BBSX doors: 1. Some external programs do not require an initialization data file. This example demonstrates how to run just such a program, named BLACKJACK.EXE and using a DOORS_CODE of "1," through DOORS.BAT: :top if (%1) == (1) goto blackjack if (%1) == (2) goto checkers if (%1) == (3) goto chess if (%1) == (4) goto othello goto xit :blackjack blackjack goto xit :xit c: cd \bbsx Note that parameter %1 is tested for a match against a DOORS_CODE of "1." If the match is positive, DOORS.BAT jumps to the ":blackjack" label and runs the BLACKJACK.EXE program. If the match is negative, DOORS.BAT continues searching; if no matches are found, DOORS.BAT exits and returns to BBSX. 95 2. Some external programs require an linear-formatted initialization data file. This example demonstrates how to use DOS' redirection of standard output to create a linear disk file named CHECKERS.DAT and then run a program named CHECKERS.EXE, using a DOORS_CODE of "2" and other parameter data passed by BBSX to DOORS.BAT: :top if (%1) == (1) goto blackjack if (%1) == (2) goto checkers if (%1) == (3) goto chess if (%1) == (4) goto othello goto xit :blackjack blackjack goto xit :checkers echo %2 %3 %4 %5 %6 %7 %8 %9 > \bbsx\checkers.dat checkers goto xit :xit c: cd \bbsx Once again, parameter %1 is tested for a match against a DOORS_CODE; this time, DOORS.BAT is comparing against a DOORS_CODE of "2." If the match is positive, DOORS.BAT skips the ":blackjack" label and jumps to the ":checkers" label, redirects the parameter data to a linear disk file named "CHECKERS.DAT" and then runs the CHECKERS.EXE program. If the match is negative, DOORS.BAT continues searching; if no matches are found, DOORS.BAT exits and returns to BBSX. The ">" character, which redirects the output of the ECHO command to a disk file, deletes old CHECKERS.DAT files by creating new ones. 3. Some external programs require a sequentially-formatted initialization data file. This example demonstrates how to use DOS' redirection of standard output to create a sequential disk file named CHESS.DAT and then run a program named CHESS.EXE, using a DOORS_CODE of "3" and other parameter data passed by BBSX to DOORS.BAT: 96 :top if (%1) == (1) goto blackjack if (%1) == (2) goto checkers if (%1) == (3) goto chess if (%1) == (4) goto othello goto xit :blackjack blackjack goto xit :checkers echo %2 %3 %4 %5 %6 %7 %8 %9 > \bbsx\checkers.dat checkers goto xit :chess echo %2 > \bbsx\chess.dat echo %3 >> \bbsx\chess.dat echo %4 >> \bbsx\chess.dat echo %5 >> \bbsx\chess.dat echo %6 >> \bbsx\chess.dat echo %7 >> \bbsx\chess.dat echo %8 >> \bbsx\chess.dat echo %9 >> \bbsx\chess.dat chess goto xit :xit c: cd \bbsx Again, parameter %1 is tested for a match against a DOORS_CODE; this time, DOORS.BAT is comparing against a DOORS_CODE of "3." If the match is positive, DOORS.BAT skips both the ":blackjack" and ":checkers" labels and jumps to the ":chess" label, redirects the parameter data to a sequential disk file named "CHESS.DAT" and then runs the CHESS.EXE program. If the match is negative, DOORS.BAT continues searching; if no matches are found, DOORS.BAT exits and returns to BBSX. As before, the ">" character is used to redirect the output of the ECHO command to a disk file. The first ">" character deletes old CHESS.DAT files by creating new ones; subsequent ">>" characters append data to the end of newly created files. 97 4. Some external programs require a linear- or sequentially-formatted initialization data file that contains data not provided as parameters by BBSX. This example demonstrates how to use DOS' redirection of standard output to create a sequential disk file named OTHELLO.DAT and then run a program named OTHELLO.EXE, using a DOORS_CODE of "4" and a combination of both the parameter data passed by BBSX and data added manually to DOORS.BAT: :top if (%1) == (1) goto blackjack if (%1) == (2) goto checkers if (%1) == (3) goto chess if (%1) == (4) goto othello goto xit :blackjack blackjack goto xit :checkers echo %2 %3 %4 %5 %6 %7 %8 %9 > \bbsx\checkers.dat checkers goto xit :chess echo %2 > \bbsx\chess.dat echo %3 >> \bbsx\chess.dat echo %4 >> \bbsx\chess.dat echo %5 >> \bbsx\chess.dat echo %6 >> \bbsx\chess.dat echo %7 >> \bbsx\chess.dat echo %8 >> \bbsx\chess.dat echo %9 >> \bbsx\chess.dat chess goto xit :othello echo BBS name = Mother Board BBS > \bbsx\othello.dat echo SysOp name = Rich Levin >> \bbsx\othello.dat echo COM port = %2 >> \bbsx\othello.dat echo Baud rate = %3 >> \bbsx\othello.dat echo User record = %4 >> \bbsx\othello.dat echo User name = %5 %6 >> \bbsx\othello.dat echo User access = %7 >> \bbsx\othello.dat echo User security = %8 >> \bbsx\othello.dat echo Time remaining = %9 >> \bbsx\othello.dat othello :xit c: cd \bbsx 98 Once more, parameter %1 is tested for a match against a DOORS_CODE; this time, DOORS.BAT is comparing against a DOORS_CODE of "4." If the match is positive, DOORS.BAT skips the ":blackjack," ":checkers" and ":chess" labels and jumps to the ":othello" label, redirects both parameter and manual data to a sequential disk file named "OTHELLO.DAT" and then runs the OTHELLO.EXE program. If the match is negative, DOORS.BAT continues searching; if no matches are found, DOORS.BAT exits and returns to BBSX. As in the previous examples, the ">" character is used to redirect the output of the ECHO command to a disk file. This time, however, manually-added data is combined with the parameter data sent by BBSX to complete the file formatting requirements of the OTHELLO.EXE program. And again, the first ">" character deletes old OTHELLO.DAT files by creating new ones; subsequent ">>" characters append data to the end of newly created files. These examples demonstrate how the DOORS.BAT file can be used to control the execution and meet the varied configuration requirements of most any external door programs. DOORS.BAT can also be used to run other batch files, provided the other batch files are accessed using the DOS "CALL" statement or are launched by another command processor (using the COMMAND.COM /C parameter) if sufficient memory is available. For ease of use, however, we recommend that secondary batch files be eliminated and their batch file command code be incorporated under a DOORS.BAT label. 99 Rich Levin's BBSX (tm) ÕÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͸ ³ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ³ ³ ÛÛ ÛÛÛ ÛÛÛ ÛÛ ÛÛ ÛÛ ³ ³ ÛÛ Û ÛÛÛ Û ÛÛÛ ÛÛÛÛÛÛ ÛÛ ³ ´ ÛÛ ÛÛ ÛÛ ÛÛÛÛ ÛÛÛÛ Ã ³ ÛÛ Û ÛÛ Û ÛÛÛÛÛÛ ÛÛ ÛÛ ³ ³ ÛÛ ÛÛ ÛÛ ÛÛ ÛÛ ÛÛ ³ ³ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ³ ÔÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ; The Personal BBS (tm) 100 This document was created using Microsoft WORD v.5.0 Program and documentation by Richard B. Levin - End of BBSX.DOC -