QBBS Installation Guide Version 4 Series Preliminary Copyright 1987 by Lawrence R. Davis Congratulations on aquiring QBBS, an easy to use yet powerful Bulletin Board System for CP/M computers. QBBS, version 4, represents many hours of programming and suggestions by many users and Sysops. QBBS has now entered the ranks of shareware after several years as a commercial program and then as a public domain program. Please read SHARWARE.MSG for a description of the shareware concept. This brief installation guide is designed to help you get QBBS up and running in a short period of time. An expanded installation guide/manual will be prepared and made available to shareware supporters of QBBS. Note that some version of BYE508 or later must be used with QBBS. BYE5 (the host program) is a public domain program and is available on many bulletin boards supporting CP/M computers. INSTALLATION To setup QBBS you should evoke the QINSTAL.COM program with the hard drive active. The resulting PWDS file will be written to Drive A, user 0 of the hard drive. If you are using a floppy only system, make sure that your system disk (the one with QBBS) is in the A drive and the disk with QINSTAL is in the B drive. QINSTAL OPTIONS: 1. Enter the total number of contiguous drives on your system. If you are using a RAM drive be sure that its drive letter is contiguous. Do NOT enter a ramdisk as one of your drives if your highest drive is 'C' and the ramdisk is 'M'. If you do so then user will be able to access invalid drives and will likely hang the system with BDOS errors. 2. Enter the drive letter where you will place the QBBS data files. 3. Enter the user area where you will place the QBBS data files. User 0 is an invalid choice. 4. Enter the maximum drive that Regular users can access. 5. Enter the maximum drive that Special users can access. 6. Enter the maximum user area that Regular users can access. 7. Enter the maximum user area that Special users can access. 8. If you want to enforce a daily time you must first read and incorporate the information supplied in TIMECHEK.LBR. 9. Enter the maximum time a Regular may stay online. 10. Enter the maximum time a Special may stay online. 11. Enter the number of minutes of no-activity before a Regular user is logged off. 12. Enter the number of minutes of no-activity before a Special user is logged off. 13. Enter a password if passworded entry to CP/M is desired. 14. Enter the name of a COMfile to be run when QBBS exits to CP/M. 15. If using ZCPRn or ZCMD, then enter the Wheel byte address. 16. Allows caller data to go to line printer (must be set in BYE5). 17. Requests name, address, computer type of user. 18. If registratin is not selectefd then this flag is the status after logon. If registration is selected than status will be set after completion of registration. Enter any valid status flag (see Status flags and Meanings). 19. Enter your three character time-zone abbreviation. ************************************************************** * QINSTAL OPTION MENU (SAMPLE SETUP) * * * * 1) Total Number of Drives on System 3 * * 2) Drive Letter for QBBS Data Files A: * * 3) User Area for QBBS Data Files 9 * * 4) Maximum Drive for Regular Users 3 * * 5) Maximum Drive for Special Users 3 * * 6) Maximum User for Regular Users 2 * * 7) Maximum User for Special Users 5 * * 8) Enforce a Daily Time limit? N * * 9) Maximum Time-On for Regular Users 45 * * 10) Maximum Time-On for Special Users 60 * * 11) Time-Out Value for Regular Users 5 * * 12) Time-Out Value for Special Users 5 * * 13) CP/M Access Password NOPASS * * 14) CP/M Exit Filename MENU * * 15) Wheel Byte Address 3E * * 16) Print Caller Data to Printer? N * * 17) Allow Registration? N * * 18) Status After Registration REGULAR * * 19) Time Zone Abbreviation [PST] * * * * Enter Number to Change (RETURN to Finish) : * ************************************************************** NAMING MESSAGE FILES The message files need to named now. Evoke MFILE.COM with the hard drive active and enter up to five names of your choice. The first file is named 'General' and cannot be changed. The names should reflect the topic or interest that will be discussed in that file. When the naming is complete the file MFILE will be written to Drive A, user 0 of the hard drive as a $SYS file. NOTE: File number 6 is reserved for Special Access users only. Special Access users are those users that have been tagged with the 'S' flag (see Status Flags and Meanings). CREATING INFORMATION FILES Use an editor to edit the data files for the data area to reflect your information (Use an editor such as Wordstar in Non-document mode, Peachtext in the Program mode, Ed.com, or Wordmaster). These data files should be copied to in the drive/user that you have selected with the QINSTAL program. The files that require editing/creating are: BULLET0 Welcomes the user after connecting to QBBS. BULLETn Contains system bulletins and timely information (Selected from the Menu) NOTE: BULLETn files are numbered according to each message file (eg. BULLET2 will be read by those logged in File #2). NEWCOM Displays new user info for first time callers S-INTRO Introduction to special access users ('Y' command in QBBS). S-INFO Items of interest to special access users (evoked with the 'B' command from file #6). FILE-DES A short (two line) description of each message file. ** NOTE ** You should leave two blank lines at the beginning and end of each file. This will allow a much better display. MAINTENANCE PROCEDURES QUTIL.COM is used to maintain the message files and to do general maintenance to the system. QUTIL functions: B --> Build INDEX File - This option is to be used to re-index and pack the index files. Indexing automatically occurs whenever you purge the message files but you can optionally re- build the index to elminate refernces to killed messages without taking the time to purge the message files. D --> Display the Disk Directory. E --> Exit the program. F --> Display a File - Displays a file from the last displayed directory. P --> Purge the Message File - Cleans the file of all 'killed' messages. All the data files will be updated and the old data files renamed with a .BAK extention. The purged messages will be placed in a file with the current date as filename and MFn (n indicates the message file number; eg. 03/01/85.MF1) as filetype. U --> USER File Maintenance - Loads UEDIT program. Z --> Delete (ZAP) a file from the last displayed directory. UEDIT.COM is used to edit the user file. The most common reason to edit the user file is to set the privilege level of a user. UEDIT Functions: C --> Exit to CP/M E --> Edit User File - Displays Edit Menu after choosing message file (A)bort - Return to UEDIT Menu. (E)dit a User - You may change the Status flag or the password of the user. A user may be deleted by changing their status flag to a '0'. (F)ind a User - Same as QBBS 'I' command. Enter User first or last name. User info with line number will be displayed. (L)ist User File - Lists all users on system as they appear in the user file. You may optionally start the listing at any point in the file. (P)urge User File - You may purge (mark) users either according to their status flag or according to date. To delete inactive users before a given date. Date should be entered as MM/01/YY. NOTE: Day is always 01. (S)ave User File - Save the edited User file to disk. The old file will be retained with a .BAK extention. NOTE: All User file maintenance is done in memory, so the changes are not permanent until the User file is saved to disk. (U)sers in File - Displays the total number of users in working file. Note that 'S' (Special) users are not deleted from the user file regardless of when they last logged in. Status Flags & Meanings: '$' - SYSOP. The main SYSOP (owner) should use this flag. This will allow all values to be set to the maximum. Also, person will have the option of creating message from the SYSOP or from their own name. '+' - SUB-SYSOP FLAG. Allows retrieval of messages directed to SYSOP and access to higher user areas in CP/M. More than one SUB-SYSOP may be flagged. The QBBS owner should use the '$' flag. (The SUB-SYSOP will have unlimited time on the system and access to user area 14). 'S' - SPECIAL USER. A special user is a user that has requested special access. They will then have access to the 'Y' command from the QBBS Command Menu and to File #6. Also, they will have access to a higher user area when in CP/M. 'M' - NO MESSAGE ENTRY. User will not be able to leave a message but may enter CP/M. 'C' - NO CP/M. User may leave messages but may not enter CP/M. '*' - RESTRICTED ACCESS. User will not be able to enter CP/M or leave messages except with 'G' command. 'T' - TWIT FLAG. User's flagged as twits will be logged off the system with a 'You are no longer welcome on this system' message. '0' - DELETED FLAG. Deleted users remain in the user file but their slot will be used by new users. A user can be un- deleted by changing their status from a '0' to any of the above status flags. NONE - REGULAR USER. Regular users have no Status flag or privileges but have full access to SYSOP designated areas. SAMPLE LINE IN USER FILE S JOHN DOE from AnyWhere, USA 2xPT1PASS010001/01/86 1:00 PM 1\ 2 \ \3 \ 4 \5 \6 \ 1. User status flag 2. User name and location 3. User setup (2=nulls; x=novice mode; P=Auto-Read On; T=Pause On; 1=Home Message Base) 4. User password 5. Highest message during call 6. Date/time of last call QBBS AND THE HOST PROGRAM (BYE) QBBS is designed to work with the public domain BYE5 host program to give the Sysop the maximum control over the system. QBBS support is in version 508 or later. Support for the QBBS exit file (daily time restriction) is in BYE510 or later. BYE5 must be assembled for your computer after adding the appropriate inserts for your serial port and clock. If you need help with the configuration the easiest thing to do is to find a Sysop running a BBS using the same computer as yours and ask his/her advice. The following is a list of the EQUATE settings that are specific to QBBS: HARDLOG NO PRINTER YES, if you choose "Print callers data" in QINSTAL. COMFILE YES COMDRV Set to Drive A COMUSR Set to User 0 EXFILE Supported in BYE510 or later. See TIMECHEK.LBR for details. EXRET YES, if EXFILE is used. BYHANG YES EXDRV If EXFILE is yes then set to drive of QBBS data files. EXUSR If EXFILE is yes then set to user are of QBBS data files. MSGFIL NO NO25TH YES NO25BF 65 READLC NO LCDRV N/S LCUSR N/S WBDRIV 'A'-41H DRIVE A WELFILE NO, as QENTER can display welcome file (BULLET0) CLRSCR NO CLRCH1 EQU 1AH ; Set for function key (^Z) CLRCH2 EQU 0 CLRCH3 EQU 0 CLRCH4 EQU 0 CLRCH5 EQU 0 CLRCH6 EQU 0 PRGRSS YES until everything is okay then NO. PRNTGB YES PRNTWB NO PWRQD NO TOVALUE Set by QBBS LMBELL NO CLOCK YES TIMEON YES to keep track of time-on-system MAXMIN Set by QBBS MAXDRV Set by QBBS MAXUSR Set by QBBS The following may optionally be added at label LCHEAD: LCHEAD: DB CR,LF,'NAME/LOCATION ' DB 'LOG-ON STATUS SPEED' DB CR,LF,0 OPEN VERSUS RESTRICTED ACCESS Access for first-time callers may be open or with registration. This option is made available in the QINSTAL program. Open access allows the first time caller access according to how option #18 is set in QINSTAL. If registration is selected then the new user will be asked to enter their real first and last name, their street address, telephone number and computer type. After completing registration they will have access according to the setting in option #18 in QINSTAL. If they decline registration they will have Restricted access and will have 15 minutes of time only. ERROR CONDITIONS Error conditions may appear under certain circumstances. The first error situation is likely to occur for the first user of the system (This should be the SYSOP). The first caller to QBBS will not be registered in the USER file and QBBS will ask the user to sign in again. The user should sign in again to initialize the USER file. Problem: QBBS seems to have 'lost' the messages and user's names. Explanation: You have moved the data files to an area different than the one specified in the QINSTAL program. Solution: Data files MUST be where you have indicated in the QINSTAL program. Explanation: The PWDS file is missing from the SYSTEM diskette. This file tells QBBS where the data files are located. Solution: Verify whether PWDS is present by executing the CP/M program STAT from Drive A, user 0. If STAT does not find PWDS or it indicates a 0k length then you must run the QINSTAL program again. Problem: COMMENT does not do anything. Explanation: COMMENT only works for the remote caller. It will not work in local mode. Problem: When I try to run QBBS it tells me to use BYE E command. Explanation: QBBS needs to have the BYE program to get clock information. Solution: The SYSOP should enter QBBS by using the BYE E command from CP/M. Problem: I get the message 'Loading Bulletin Board' and then the system crashes. Explanation: QRUN is looking for MFILE with the message file names. Solution: Run the MFILE program to create your message filenames and place them on Drive A, User 0. Error conditions that occur in QBBS and are not dealt with by the program will be displayed as 'Error nn occured on line nn'. This type of error should be reported to the QBBS support Bulletin Board at 818/956-6164. These error conditions are rare but may occur and indicate unknown 'bugs'. SYSOP PRIVILEGES The QBBS Sysop has many privileges not allowed to callers. QBBS privileges are as follows: The 'Z' command allows '$' , '+', and 'S' users to display the callers file with the most recent caller displaying first. The Sysop may view and delete any message regardless of whether it is private or addressed to another user. When the '+' user exits to CP/M they will be granted unlimited time. This allows a sub-sysop to exit from their section will unlimited time. The Sysop ('$' users) will have full access to all CP/M user areas and unlimited time on the system when in CP/M. The '+' or '$' user may use the 'K' command at the message read menu even though it is not present. OPERATING TIPS AND SUGGESTIONS To sum up a few things: QENTER.COM and QRUN.COM should be placed on Drive A, User 0 of the hard drive. They should be tagged as $SYS files so they do not show in a DIRectory listing (STAT FILENAME.TYP $SYS). When the user exits to CP/M, QRUN will look for the file in option #14 of QINSTAL. This file should be created by you for whatever purpose you desire. It is possible to have it display text or a menu to aid system mobility. It is suggested that the files QBBS.COM and COMMENT.COM be created to make operation a little easier. The program AKA.COM or SYNONYM.COM will work fine for this purpose. If you are using ZCPR3 then ALIAS.COM would be the program of choice. You will be creating an alias so that the command will be easier for the user to remember. QBBS.COM is the alias name and it will evoke the command QRUN. COMMENT.COM is the alias that will evoke QRUN C to load QRUN with the 'C' option for a comment. The Sysop should enter QBBS from the local computer by entering BYE E from CP/M. The modem should be on. This insures that BYE will be active and supplying data to the QBBS program. For additional information regarding QBBS commands and functions, print out the MORE-HLP file and the EDIT-HLP file. Files that QBBS creates are: MESSAGEn Message file (1-6) CALLERSn Callers file (1-6) LCALLER Last caller data LASTCALR Callers name only (for KMD/XMODEM) USERSn Users file (1-6) MFn-REC Index files COUNTERn Message and caller counter (1-6) Files that YOU create and place in data area: BULLETn Message file bulletins (0-5) BULLET0 is displayed as Welcome file S-INTRO 'Y' command for Special access users S-INFO Bulletin for message file 6 (special access) NEWCOM Displays to first time caller FILE-DES Short description of each message file Files that MUST always be on Drive A, User 0 PWDS Parameters, passwords, etc.. MFILE Names for messasge files QENTER.COM QBBS Login module QRUN.COM QBBS message base module Appendix A Modem Switch Settings The following information was excerpted from B5IM-1.DOC as found in BYE510.LBR. For a fuller description of modem settings, etc. see B5IM-1.DOC. HAYES 1200 switches should be set as follows: UP - 1, 2, 4, 6, 7 DOWN- 3, 5, 8 HAYES 2400 No switches so you must use a program like MDM740 and set the software options to default as follows: AT&F&W c/r (sets non-volatile memory to factory specs) AT&C1&D2&W c/r (The &W writes this to non-volatile memory so when we send ATZ it initializes correctly) Mercury modems- See the file in this .LBR MERCURY.DOC for a detailed explanation of configuring Mercury modems for BYE5. ProModem 1200 switches should be set as follows: ON - 1, 2, 3, 7, 9 OFF - 4, 5, 6, 8, 10 These switch setting should work with both BYE5 and MDM7. You can set ECHO EQU YES with this switch configuration since the ProModem will echo correctly for all operations. Using ECHO will provide a more reliable initialization. RACAL-VADIC MAXWELL 1200V AND 2400V Works out of the box, no preinstallation required. USR 300/1200 Password, S-100 and 212A. Try assembling BYE5 with NOATA EQU NO. If your modem will not answer the phone when ATA is issued the set NOATA EQU YES. The only problem with this is if the computer is sick, your modem will still answer the phone. You can call USR and get a RMA number and have your modem firmware updated. Password Set all 4 switches up (off). S-100 Install B5USR-n.INS 212A Auto-Dial Set switch 2 down (off), 1,3,4 up (on). USR Courier 2400 Switch settings ON 2, 3, 5, 8, 9 OFF 1, 4, 6, 7, 10 Note: The Courier will work with ECHO like the Hayes and Vadic. Set switch 4 off and ECHO EQU YES. Gives more reliable operation. Appendix B Editorial on SYSOP Responsibilities The SYSOP is in a unique position of operating a communications system that is a crude prototype of next-generation communications. One can imagine electronic mailboxes replacing the present box-on-the-house type within the not too distant future. At present, the fate of BBS's is unsure. The BBS is, unfortunately, associated in the public's eye with tampering and piracy. One local SYSOP found himself being prosecuted because someone, unknown to him, had left an AT&T calling card number in a public message. This message was apparently left to allow others to make computer calls free of charge. The SYSOP MUST CHECK all new messages daily and delete any messages that contain information of a questionably legal nature. And the user should also be tagged with a 'T' to log them off if they call again. It is also suggested that public messages NOT make reference to the trading and/or selling of commercial software. This is a common occurence these days and is discouraged on most serious BBS's. It is also necessary to check UPLOADS to the system to see if they are commercial programs. The sender of any copyrighted program should be questioned whether it is public domain. Many copyrighted programs are public domain but are released because of the generosity of the author.