home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / DOOR / BCHECK15.ZIP / BCHECK15.DOC < prev    next >
Text File  |  1995-06-01  |  40KB  |  797 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                                                                   BCHECKERS |
  7.                                                                             |
  8.                                                                 version 1.5 |
  9.                                                                             |
  10.                                                                             |
  11.                             A multi-node checkers door for most BBS systems |
  12.                                       Copyright 1995 by DIRT CHEAP SOFTWARE |
  13.                                                Written in C by Bruce Bowman |
  14.                                                                             |
  15.                                                      Released June 10, 1995 |
  16.                                                                             |
  17.                                INTRODUCTION
  18.                                ============                                                                          
  19.  
  20.  >Disclaimer<  Throughout this document, I have used the masculine gender
  21.  when referring to a "generic" person.   This is only to avoid continuous
  22.  use of such things as (s)he, which I find annoying. I have total respect
  23.  for the females of the species; I even married one. So lighten up.   :^)
  24.  
  25.  >Disclaimer #2<  The author of this program, Bruce Bowman, promises only
  26.  that this program will take up space on your hard drive (and perhaps not
  27.  even that). I've put a lot of my time and sweat equity into this, and in
  28.  return I ask only that you  try it and remit a token sum if you continue
  29.  to do so. I make no claims for its suitability for a particular purpose,
  30.  and guarantee nothing  whatsoever regarding potential damage to your own
  31.  computer or hard-acquired files.  I can only suggest that you  do what I
  32.  do, and back up  your hard drive frequently.  If the unthinkable happens
  33.  and some terrible fate should befall you  as a direct or indirect result
  34.  of using BCheckers, you will have my utmost sympathy -- but that's about
  35.  all. So there.   :^)                                                    
  36.  
  37.  This software is COPYRIGHTED: You're subject to the associated penalties
  38.  of law if you attempt to reverse-engineer it, hack the key routines,  or
  39.  otherwise steal the benefits of all my aforementioned sweat equity.     
  40.                                                                          
  41.                                QUICK START                               
  42.                                ===========                               
  43.                                                                          
  44. See the file QUICK_ST.ART for fast instructions on how to test and set up  
  45. BCheckers. See also the WHATSNEW.140 file for new features in this version.                                                           
  46.                                                                          
  47.                                  OVERVIEW                               
  48.                                  ========                                 
  49.                                                                          
  50. As a sysop of a FidoNet BBS, I was disappointed in the lack of a good    
  51. checkers door. Sure, there were some that allowed internode play and the 
  52. like, but these were expensive and few offered any decent ANSI graphics  
  53. and the simple ability to have callers make moves on alternate logons. I 
  54. also wanted to try my hand at programming in C, having learned a number of 
  55. other programming languages. BCheckers is the result of this effort; and 
  56. at only $12 is a bargain in shareware.
  57.  
  58. BCheckers offers the following sysop features (and more I've probably
  59. overlooked in these docs):
  60.  
  61. -  As you would expect, BCheckers monitors carrier detect functions, to
  62.    automatically recover when a user drops carrier.                    
  63.                                                                        
  64. -  Includes a fully-adjustable inactivity timeout monitor. A warning is
  65.    sent 5 seconds before the caller is ejected.
  66.  
  67. -  Share-aware file i/o for use in multi-node BBS systems. You must have 
  68.    DOS's SHARE.EXE loaded for multi-node use.             
  69.  
  70. -  Supports most popular BBS door information files, such as DORINFO1.DEF,
  71.    EXITINFO.BBS, CHAIN.TXT, DOOR.SYS, etc.  
  72.  
  73. -  Full-screen chat, play-the-sysop mode, simple configuration, "multiple
  74.    personality" system, session logging, paging hours, supports CUSTOM
  75.    DROP FILE FORMATS, and MORE!
  76.  
  77. -  Displays and updates a QuickBBS-style status line, with information 
  78.    available to the sysop such as user name, location, baud rate, time left, 
  79.    function keys, ANSI and AVATAR settings, and so on.
  80.    
  81. -  Keeps track of a user "wants-chat" indicator, just like the one in
  82.    RemoteAccess, QuickBBS and other BBS systems. Allows for sysop page from
  83.    the door, and integrated chat mode.
  84.  
  85. -  Provides the sysop with all the standard function keys for adjusting user 
  86.    time, hanging up on or even locking out the user -- and sysop shell to DOS.
  87.  
  88. -  Full support for locked baud-rates of up to 115200 baud, using the FOSSIL
  89.    driver for maximum compatibility with any system. If a FOSSIL is not
  90.    available, BCheckers will use its own communications routines. Auto-detect
  91.    of local operation.
  92.  
  93. -  BCheckers is also DesqView and Windows aware. It will automatically check 
  94.    for the presence of a multitasker, and if available, will perform all of 
  95.    its screen output through the appropriate function calls.
  96.  
  97. -  
  98.  
  99.                         CONVERTING FROM VERSION 1.0
  100.                         ---------------------------                                                   
  101.  * * IMPORTANT!! * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  102.  * If you've been running version 1.0 of this program,  you MUST execute * 
  103.  *  10TO11.EXE in the BCHECK directory prior to running version 1.1 or   *
  104.  *                    any later version of BCHECKERS!!                   *
  105.  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  106.  
  107. The data file BCHECK.BBS in versions after 1.0 hold the players' comments 
  108. to each other and a draw-request indicator. Each record is 78 bytes longer 
  109. than in version 1.0. If you run later versions without running 10TO11.EXE, 
  110. you will corrupt your BCHECK.BBS file and lose all games in progress. Your 
  111. callers probably won't appreciate this!
  112.  
  113. To upgrade, overwrite your old copy of BCHECK.EXE with the new version. Copy
  114. the 10TO11.EXE file to the directory containing your BCHECK.BBS file. Close
  115. any tasks that might access the BCHECK program, then type the following at 
  116. the DOS prompt:
  117.  
  118.   10TO11
  119.  
  120. This will update the BCHECK.BBS file to the new format. Once completed, you 
  121. may delete the 10TO11.EXE program. If you don't mind losing all your games, 
  122. just delete the BCHECK.BBS file from the DOS prompt. 
  123.  
  124. IF YOU'RE NOT RUNNING VERSION 1.0, YOU DO *NOT* NEED TO USE 10TO11.EXE!!
  125.  
  126.       
  127.                           COMMAND LINE PARAMETERS
  128.                           =======================
  129.  
  130. Most configuration is done via the configuration file. See the BCHECK1.CFG
  131. file for an example and instructions on how to edit the paths and other
  132. parameters for your own use. If running multi-node, you'll normally need to
  133. create a separate config file for each node running the door.
  134.  
  135. Call the program with the following syntax. Only the <cfgfile> parameter is
  136. required. Parameters indicated with an asterisk (*) can only be configured
  137. in the registered version.
  138.                                                                           
  139.  
  140. BCHECK <cfgfile> <DtoL*> <DtoK*> 
  141.            
  142. Where:
  143.  
  144. <cfgfile> REQUIRED: Name of the config file. Include the path, if necessary.
  145.           The config file used will normally vary depending on the node 
  146.           using the door. I usually set things up so the node number is 
  147.           passed on the menu item command line, something like this:
  148.           
  149.                 C:\BBS\DOORS\BCHECK.EXE C:\BBS\DOORS\BCHECK*N.CFG
  150.           
  151.           The *N parameter is a 'metacharacter' that the BBS software uses
  152.           to provide the node number to the door. This allows you to set up
  153.           a single menu item that will run the program for all nodes without
  154.           resorting to batch files.
  155.  
  156. <DtoL*>   "Days to Lose" - Days before an inactive game is aborted. This is 
  157.           how we keep games from piling up without someone actively playing.
  158.           If a player doesn't move in a given game for this number of days, 
  159.           his opponent is declared the winner.  
  160.           
  161.           Default is 21 days (3 weeks). See also the "maintenance" function
  162.           later in this section.
  163.          
  164. <DtoK*>   "Days to Keep" - Number of days a completed game is held before 
  165.           being purged from the game file. This allows a few days for the 
  166.           players and other callers to see the outcome. Treat this just as 
  167.           you would the DtoL parameter. Default is 10 days.
  168.           
  169. If you are satisfied with the defaults, these last two parameters may be 
  170. omitted from the command line.
  171.  
  172.          
  173. Examples:
  174. --------
  175.  
  176.    BCHECK BCHECK1.CFG
  177.    
  178.          Bring up the door with the node 1 config file. Note that this command
  179.          assumes that you have already changed to the directory containing the
  180.          executable and config files; so it's probably only suitable for use 
  181.          in a batch file for node 1. Use defaults for "days to lose" and "days
  182.          to keep."
  183.          
  184.    C:\BBS\DOORS\BCHECK.EXE C:\BBS\DOORS\BCHECK*N.CFG
  185.    
  186.          Run the door from node 2. This example uses the BBS metacharacter to
  187.          select the appropriate config file for each node automatically. This
  188.          command can therefore be placed directly into the BBS menu item. Once
  189.          edited with your own directory paths, the example above should work 
  190.          for QuickBBS, RemoteAccess, and clones. Note that some BBS software
  191.          will not allow you to omit the .EXE extension.
  192.     
  193.    C:\BBS\DOORS\BCHECK.EXE C:\BBS\DOORS\BCHECK*N.CFG 14 5
  194.                                                          
  195.          Same as the previous example, except players are only allowed two
  196.          weeks to make a move and finished games are only kept 5 days. 
  197.              
  198.    C:\BBS\DOORS\BCHECK 
  199.    
  200.          ERROR. Config file name is REQUIRED.
  201.                                        
  202.  
  203.                          OTHER COMMAND-LINE OPTIONS 
  204.                          ==========================
  205.                          
  206. You MUST be in the BCheckers directory to use any of these options!
  207.  
  208.  
  209.    BCHECK LOCAL            (Local mode)
  210.    
  211.          Runs BCheckers with sysop defaults. This mode does not require a
  212.          configuration file or any door information (drop) files. It's
  213.          mainly used to play with the door a little to see if you like it
  214.          prior to setting it up.
  215.          
  216.    BCHECK MAINT 14 5       (Run system maintenance)
  217.    
  218.          Run BCheckers maintenance. You should run this command daily along
  219.          with your other normal system maintenance to actually delete old
  220.          games and declare winners in inactive games. Ordinarily, you should 
  221.          avoid running this while callers are using the door -- although in
  222.          most cases you can get away with it.
  223.          
  224.          *WARNING!* It's VERY IMPORTANT that what you place here is the same
  225.          as you use during game play! If your "days to lose" and "days to 
  226.          keep" parameters do not match, your callers will be upset with you 
  227.          when the help files in the door say they can wait 21 days to move
  228.          and then you come by and delete them in 14! Again, you may omit 
  229.          these parameters and the defaults will be used; which in most cases
  230.          is the best option...but you CAN change it if you want to.
  231.          
  232.     BCHECK DELETE 5        (Delete one game)
  233.     
  234.          Deletes game 5. This allows you to get rid of games played by twits
  235.          or otherwise manually clean things up without adversely affecting 
  236.          the other callers' games. USE WITH CAUTION!
  237.  
  238.          If you wish to delete *all* the games, simply delete the BCHECK.BBS 
  239.          file at the DOS prompt. The file will be created as needed the next
  240.          time the door is used.
  241.  
  242.     BCHECK STATUS 0|1      (Status Report)
  243.     
  244.          Generates a status report of games in progress (not completed games).
  245.          The report is sent to StdOut, so it can be redirected to a file for
  246.          display on your BBS or over the COM port and run as another door! 
  247.          The 0 or 1 indicates whether an ASCII or ANSI bulletin is generated;
  248.          if omitted, you will get an ASCII bulletin. The following will create
  249.          the ANSI bulletin STATS.ANS:  
  250.                                                              
  251.                        BCHECK STATUS 1 > STATS.ANS
  252.  
  253.          ^L         BCHECKERS Game Status
  254.          
  255.          Game #  1: Jane Doe needs an opponent...
  256.          Game #  2: Ringo Bowman needs an opponent...
  257.          Game #  8: John Public to move...
  258.          Game #  9: Joe Blow to move...
  259.          [etc...]
  260.  
  261.          Press ENTER^A               
  262.  
  263.          Note that the bulletin actually begins with a ctrl-L character 
  264.          (clear screen on most systems) and ends with a ctrl-A (wait for 
  265.          the ENTER key).
  266.                                                                   
  267.     BCHECK FAME 0|1        (Hall of Fame Bulletin)
  268.  
  269.          Instructs BCheckers to read the BCHECK.HOF file and generate a Hall
  270.          of Fame bulletin. Like the game status, the bulletin is sent to 
  271.          StdOut, and the 0 or 1 directs the program to generate an ASCII or 
  272.          ANSI bulletin. The bulletin gives player stats as follows:
  273.          
  274.          ^L              BCHECKERS HALL of FAME
  275.  
  276.                Player            Wins Losses Draws Percent
  277.                ------            ---- ------ ----- -------
  278.          Richard Hangslough        2     0     0     100
  279.          Boz Scaggs               11     2     0      84
  280.          Jethro Tull               9     2     3      75
  281.          Pink Floyd               10     2     8      70
  282.          Howard Johnson            4     2     3      61
  283.          Bruce Bowman              7     4     3      60
  284.          Fleetwood Mac             2    11     3      15
  285.  
  286.          Press ENTER^A  
  287.  
  288.          Up to 18 players will be listed, in order of winning percentage. 
  289.          Draws are treated as 1/2 game won and 1/2 game lost. The percentage
  290.          is truncated to the nearest percent.
  291.                   
  292.  
  293.                               SYSOP FUNCTIONS
  294.                               ===============
  295.                               
  296. Status Line - By default, the status line is ON. To turn it off, press F10.
  297. The status line lists the name of the user currently on-line, his location, 
  298. and baud rate (0 if the door is operating in local mode). You may also find
  299. out how much time the user has left, check for indicators as to whether the 
  300. user has ANSI and/or AVATAR modes on, etc.  If the user wishes to Chat with 
  301. the sysop (ie: they have paged the sysop, but haven't received a response), 
  302. a [Want-Chat] indicator will flash on the status line. 
  303.  
  304. The appearance of the status line varies with the "personality" setting 
  305. chosen in the config file. The following is for the "Remote Access" style, 
  306. but the other styles are similar.
  307.  
  308. [F1]..[F10] - The Function keys [F1] thru [F10] allows the sysop access to 
  309.               various types of information on the status line, or to turn 
  310.               the status line off. These keys are as follows:
  311.  
  312.               [F1] -  Display basic door and user information
  313.               [F2] -  Display phone numbers and important dates
  314.               [F3] -  Display security flags and up/download info
  315.               [F4] -  Display system information and current time
  316.               [F5] -  Display message info and user's settings
  317.               [F6] -  Display chat reason and sysop's comment
  318.               [F9] -  Display help information for sysop
  319.               [F10] - Toggle the status line on/off                               
  320.               
  321. The following other function keys are also available to the sysop:
  322.  
  323. [UP]/[DOWN] - Use the arrow keys to increase or decrease the amount of 
  324.               time the caller has left in the door.
  325.  
  326. [Alt]-[C] -   Allows the sysop to break into chat with the caller at any 
  327.               time. [Alt]-[C] again, or [ESC] will end chat mode. (Notice 
  328.               that the Want-Chat indicator will also be turned off, if it 
  329.               was flashing). If your door is running under Apex, Remote
  330.               Access or QuickBBS, paging from within the door will also
  331.               cause the Want-Chat indicator to stay lit when the user 
  332.               returns to the BBS.
  333.  
  334. [Alt]-[J] -   Allows the sysop to shell to DOS, if enough memory is 
  335.               available. Simply type EXIT to return to the door.
  336.  
  337. [Alt]-[H] -   Hang up on the user. Drops carrier and returns to the BBS.
  338.  
  339. [Alt]-[L] -   This key locks the user out of the BBS. It first hangs up 
  340.               on the user, and then sets their security level to 0, to 
  341.               prevent them from ever logging on again. This feature may 
  342.               require use of the EXITINFO.BBS file, depending on what 
  343.               system the door is running under.
  344.  
  345. [Alt]-[K] -   The "User Keyboard-Off" key allows the sysop to temporarily 
  346.               prevent the user from typing anything on their keyboard. 
  347.               This has no effect on the local keyboard, but causes the
  348.               door to ignore any keystrokes from remote. This also toggles
  349.               on and off during "play against the sysop" mode to lock out
  350.               the user while you make your move.
  351.  
  352. [Alt]-[N] -   The "Sysop Next" key, this function reserves the system for 
  353.               use by the sysop after the user logs off, if the door is 
  354.               running under an Apex or RA 1.00 or later system.
  355.  
  356. [Alt]-[D] -   "Drop to BBS" key. This function allows the sysop to exit 
  357.               the door and return the user to the BBS, without hanging up.
  358.  
  359.                                                       
  360.                                USING THE DOOR
  361.                                ==============
  362.                                
  363. The door is menu-driven, and most of the functions are self-explanatory. A 
  364. brief overview will be given here.
  365.  
  366. The door is based on the "touch-move" premise. Once a legal piece is chosen, 
  367. the caller is *required* to move that piece. If only one move is available 
  368. for the chosen piece, that move will be made immediately -- otherwise, the 
  369. door will prompt for a destination square by highlighting the legal moves 
  370. with flashing pieces. Also, the door will not allow the caller to "take back" 
  371. a move. Thus, it is very important that the caller use due discretion in 
  372. evaluating the board position *before* they start to make a move. 
  373.  
  374. This is not because I am lazy -- the door has been *purposely* programmed 
  375. this way. Checkers is supposed to be something of an intellectual game, and 
  376. it is the opinion of this programmer that allowing "take-backs" defeats the 
  377. purpose of having game doors that are in principle a cerebral challenge 
  378. between the players. 
  379.  
  380. The door conforms to Hoyle's rule for jumps (rather than "Huff or Blow"). If 
  381. the caller has a capture, he *must* make a capture. If a new game is started, 
  382. the player is assigned the Black pieces for his first move (in keeping with 
  383. Checkers conventions). The opponent is "No One" until someone joins the game.
  384.     
  385. The opening screen allows the caller to perform most game operations, as
  386. follows:
  387.  
  388. 1) Make a Move -- The caller may make a move in a game in which he is
  389.    already a player. These games are presented in a list, from which the 
  390.    player chooses the game number. The game selected is then presented to 
  391.    him.   
  392.    If it isn't the caller's move, or the game has been completed, a message 
  393.    to that effect will be displayed. 
  394.    If it is the caller's move, the door will first check if his opponent 
  395.    has offered a draw. If so, he is allowed to accept or reject the offer. 
  396.    If accepted, the game is drawn immediately...otherwise, the offer is 
  397.    discarded and the game proceeds normally. The door then presents the
  398.    caller with his opponent's message and the following choices:
  399.    
  400.    <E>xit -- Abort move and return to the game selection menu.
  401.    <M>ove -- Make a move. The caller will be prompted for a piece to move
  402.      and a destination square, if required. If the caller selects an 
  403.      illegal move, the door displays an error message and highlights the 
  404.      legal moves. Once a move is made, the door checks for whether the 
  405.      opponent also has a legal move -- if not, the game is won! 
  406.    <R>edraw Screen -- Use this if something messes up in data transmission
  407.      and the screen needs to be cleaned up.           
  408.      
  409.    After making a move, the caller is given the opportunity to offer a draw,
  410.    forfeit the game entirely, or leave a comment for his opponent.
  411.  
  412.    <C>omment -- Saves a one-line comment to your opponent, normally used to
  413.      brag about how good you are at checkers. Maximum of 75 characters
  414.    <D>raw -- Offer a draw. When the opponent calls back, he is told about
  415.      the offer. If he accepts, the game is drawn. This usually comes into 
  416.      play when neither player has enough pieces left to force a win.
  417.    <F>orfeit Game -- Use if you want to "give up" and allow your opponent
  418.      to win. You must have an opponent to forfeit to!
  419.           
  420. 2) View Games in Progress -- Displays any game that has not been deleted. A
  421.    list of current games is presented to the user so he may select one to
  422.    view. The board position is then displayed along with status information.
  423.  
  424. 3) Start a New Game -- Same as #1 above, but starts a new game. The caller
  425.    is always given the Black pieces to start the game. Of course, the
  426.    <F>orfeit and <D>raw options are not available in this case, since the 
  427.    caller has no opponent yet.                                  
  428.  
  429. 4) Join a Game -- Allows the caller to join a game that someone else 
  430.    started. Having joined the game, the player receives the White pieces, 
  431.    and is given the opportunity to make a move immediately.
  432.  
  433. 5) Blitz Game vs Sysop -- Page the sysop for a game. This allows callers to
  434.    ask to play a game against you in REAL-TIME! 
  435.    The game is stored to disk after each move, and treated like any other
  436.    game -- except callers can exceed their maximum games-per-player if you
  437.    agree to accept a game. During your moves, the caller's keyboard is
  438.    locked out.                               
  439.    If the caller loses carrier or something like that, the game can be
  440.    resumed as a normal alternating-logon game later.
  441.  
  442. 6) Checkers Rules and History -- Displays a 3-screen overview of Checkers
  443.    rules and history. This has been paraphrased from Hoyle.
  444.  
  445. 7) Door Help -- A succinct listing of non-obvious information that should
  446.    prove useful to first-time users of the door.   
  447.  
  448. 8) Page the Sysop -- The sysop can break into chat mode at any time with 
  449.    Alt-C...this command allows the caller to request chat mode. Chat is 
  450.    split-screen and both sysop and caller can type at the same time.   
  451.  
  452. 9) Quit to the BBS -- Exit the door and return to the board.
  453.  
  454. !) Logoff -- Exit completely, dropping carrier.
  455.  
  456.      
  457.                               REGISTRATION
  458.                               ============
  459.                               
  460. To Other Shareware Authors:
  461.  
  462. I will happily exchange registrations to any of my products, if what you 
  463. have interests me at all.  Netmail me with the specifics if interested.
  464.  
  465. (Not responsible for lost or misrouted mail!).
  466.  
  467. The key consists of a small file that resides in the same directory as
  468. your game file (BCHECK.BBS). Ordinarily, I would find this abhorrent -- 
  469. but I'm just too stupid to figure out a way to patch the executable with 
  470. a key entered in a config program (which would also require a config 
  471. program!).
  472.  
  473. Benefits of Registration
  474. ------------------------
  475. 1) The door will not allow configuration of "days to lose" or "days to keep."
  476.    You can go ahead and enter the extra parameters on the command line, but 
  477.    they will be ignored. The defaults are pretty reasonable, though.
  478.  
  479. 2) You cannot disable paging or set paging hours unless registered.
  480.  
  481. 3) The door will only allow up to 12 concurrent games until you register.
  482.    Once registered, up to 200 games may be played.                
  483.  
  484. 4) The door will display -= UNREGISTERED =- when returning to the BBS
  485.    until you register.
  486.  
  487. 5) You will receive preferential support from the author.
  488.  
  489. 6) You will have peace of mind, knowing that you are supporting shareware.
  490.  
  491. The key routine could probably be cracked eventually by someone with a hex 
  492. editor and a lot of time on their hands. More elaborate protection schemes 
  493. than mine have suffered this fate. However, I'm not asking much money for 
  494. this -- so save yourself some effort and cough up the cash.
  495.  
  496. How do you register?  Send $12 (US) cash, check or money order, payable to
  497. Bruce Bowman, to the following address:
  498.  
  499.                        DIRT CHEAP SOFTWARE
  500.                        c/o Bruce Bowman
  501.                        8364 S. State Road 39
  502.                        Clayton, IN  46118
  503.  
  504. Allow 2 weeks for personal checks to clear. I'm told it's not a good idea 
  505. to send cash via the mail, but I've never had problems with it. If you 
  506. decide to do so, and the money gets ripped off, I will feel sorry for you 
  507. but I won't waive your registration fee over it.
  508.  
  509. Accompany this with the form on the following page...or otherwise provide 
  510. this information.  Registrations without this information WILL be ignored
  511. (I will make a feeble attempt to contact you, and eventually tear up your
  512. check).
  513.  
  514. It is also a very good idea to send a copy of your BBS drop file with your
  515. registration. Since the door reads data from your drop file to determine
  516. if the key will work, it is very important that both the sysop name and
  517. the BBS name be provided EXACTLY as present in your drop files. If you
  518. cannot guarantee this, you should send me your drop files.
  519.  
  520. On occasion I have attempted to netmail certain individuals keys, only to 
  521. get bad connects -- I simply cannot afford this. If your BBS is only online
  522. during certain hours, let me know. If I get two bad connects trying to 
  523. netmail a key, I will give up and put it on hold for you and notify you of 
  524. this fact via routed netmail (which itself is not very reliable anymore).
  525.  
  526. NOTE:
  527. Registered keyholders receive FREE UPGRADES when they become available.
  528. You will have to check in though, since I don't plan to notify everyone of
  529. an upgrade individually.
  530.  
  531.                           BCHECKERS REGISTRATION 
  532.                                Version 1.5
  533.                               
  534. IMPORTANT!  The BBS name and SYSOP name must match your door   IMPORTANT!
  535. IMPORTANT! drop file EXACTLY, or your key won't work. Consider IMPORTANT! 
  536. IMPORTANT!     sending us a copy of your BBS drop file(s)!     IMPORTANT!                    
  537.  
  538. *SYSOP NAME: __________________________________________________________
  539.  
  540. ADDRESS: ______________________________________________________________
  541.  
  542. _______________________________________________________________________
  543.  
  544. _______________________________________________________________________
  545.  
  546. *BBS NAME: ____________________________________________________________
  547.  
  548. BBS Phone: ____________________________________________________________
  549.  
  550. BBS Software/Version: _________________________________________________
  551.  
  552. NETWORK: _______________________________________ (FidoNet, etc, if any)
  553.  
  554. NETWORK NODE NUMBER: _______ : ________ / ________ (if above completed)
  555.  
  556. AMOUNT ENCLOSED: ______________________      NOTE: Registration is $12!
  557.                                                                     
  558. HOW DO YOU WANT TO PICK UP THE KEY?
  559.  
  560. [ ] ... Put on hold for me at 1:231/710 for the Net/Node listed above.
  561.  
  562. [ ] ... Send via FidoNet crashmail to the node indicated above.
  563.  
  564. [ ] ... Here's $2.00 Upload it to me as well as the latest version.  
  565.         Acount Information as Follows:
  566.  
  567.         Account Name:  Bruce Bowman
  568.         
  569.         Password: ____________________________________
  570.         
  571.         Miscellaneous Info: ________________________________________
  572.  
  573.         ____________________________________________________________
  574.  
  575.  
  576. [ ] ... Send on disk to the address above (very slow!) Please add $5 to 
  577.         cover disk, mailing costs, and my hassle.  
  578.         Please ship my key and latest copy via  [ ] - 5.25"   [ ] - 3.5"
  579.                                                                     
  580. [ ] ... YES!! I WANT THE SPECIAL DEAL! Send me latest version of KaBoom!
  581.         and its key for only $7 more!!
  582.  
  583. COMMENTS/SUGGESTIONS/BUGS: ____________________________________________
  584.  
  585. _______________________________________________________________________
  586.  
  587. __________________________________________________________________@o.tw  
  588.                             TECHNICAL SUPPORT
  589.                             ----------------- 
  590.  
  591. TECHNICAL SUPPORT IS PROVIDED ONLY THROUGH EMAIL OR CALLING MY BBS! 
  592.  
  593. I have had people ask me to call them long-distance on my dime -- I simply 
  594. don't make enough money on BCheckers to justify this. There seems to be a
  595. perception amongst the sysop community that door authors are getting rich
  596. selling their doors, but the truth is that most sysops never register their
  597. doors. To provide some perspective, I've spent well over a hundred hours 
  598. programming this door, and have yet to make $2/hour on it.
  599.  
  600. To obtain support, you must call my BBS or send me email. You won't obtain 
  601. full access to my BBS on your first call, but you can leave a message to 
  602. the sysop at logoff, which I will get. You will then receive a temporary 
  603. account until your problem is resolved. You'll have to call the BBS again 
  604. to get your reply; or if you're on FidoNet and can wait, I can send you 
  605. routed netmail. 
  606.  
  607.                    The H.O.M.E. BBS
  608.                    (317) 539-6579 - 28.8 kbps
  609.                    FIDONET:  1:231/710
  610.                    DOORNET:  75:7317/71
  611.                    INTERNET: beb@lilly.com or
  612.                              Bruce_Bowman@f710.n231.z1.fidonet.org
  613.  
  614. If you are having problems with your key, you MUST give me a copy of your 
  615. door drop files, or I won't be able to help you.
  616.                              
  617.  
  618.                              FREQUENT COMMENTS
  619.                              =================
  620.  
  621. Q: The door can't find the game file, or it can't find my key even though 
  622.    I've registered. Help!
  623. A: Run the door from the directory containing the game file and the key,
  624.    or place the correct path in the config file under "DoorDir." The 
  625.    executable can be anywhere on your path. Make sure BCheckers knows 
  626.    where your drop files are from the "BBSDir" parameter. If your key is 
  627.    named something else, be sure to rename it to BCHECK.KEY. Finally,
  628.    try putting your system name and sysop name in the configuration file.
  629.    
  630.    If it still does not recognize your key, you either did not provide 
  631.    the correct BBS and sysop names on your registration form, or your
  632.    system is misconfigured so this information is not appearing in your
  633.    drop files. Upload a copy of your drop files to the support BBS or via
  634.    email to one of the listed addresses.
  635.    
  636. Q: When I call the door, the status line quickly flashes on and comes back
  637.    to the DOS prompt.
  638. A: You are probably giving BCheckers a nonexistent config file name. Make
  639.    sure you use the correct metacharacter in your menu, and that you 
  640.    haven't misspelled anything.
  641.  
  642. Q: I know there's a game in there waiting for a new player, but the door
  643.    won't let me make a move in that game. It doesn't even show up in the
  644.    play list.
  645. A: Use the "join a game" function rather than "make a move."
  646.  
  647. Q: The game prints [2;4m brackets and other junk characters all over.
  648. A: The door requires ANSI graphics capability. Exit the door and rectify 
  649.    the situation.
  650.   
  651. Q: The file BCHECK.BBS or BCHECK.HOF exists, but I occasionally still get 
  652.    a message from the door saying "Error opening BCHECK.BBS/BCHECK.HOF!"
  653. A: The door will try 20 times to open the file over a 10-second interval. If 
  654.    this fails, BCheckers gives up with an error.    
  655.    You may be running out of file handles. Increase the number of FILES in 
  656.    your CONFIG.SYS. 
  657.    It is also possible that one task in a multi-tasking environment opened
  658.    the file, and then crashed without closing it. If so, you will probably
  659.    have to reboot to clear the error.
  660.    This may also rarely happen during intensive disk activity in a multi-
  661.    tasking environment (for example, when copying files to/from floppies). 
  662.    Use a copy utility (like DVCOPY) that will properly release time slices 
  663.    to your door.
  664.    You *do* have DOS's SHARE.EXE loaded, don't you?
  665.  
  666. Q: The door gives me the error message -- "Timeout on BCHECK.BBS read 
  667.    operation."  What does THAT mean?
  668. A: As before, a task has grabbed exclusive access to the file and never
  669.    closed it (or at least didn't do so within 10 seconds). The remedy is
  670.    pretty much the same; although if you were running the MAINT procedure
  671.    during the error, the door will probably work now without rebooting.
  672.  
  673. Q: BCheckers made me move somewhere I didn't want to move!
  674. A: The door will not allow a caller to deviate from Hoyle's rules. Since some
  675.    of your callers will not be familiar with these rules, the key points are
  676.    presented in the door help screens.      
  677.  
  678. Q: The screen stays blank when I return from chat mode!
  679. A: BCheckers allocates memory "on the fly" to save the screen contents before
  680.    starting chat. If you don't have enough extra free memory (about 4k), 
  681.    BCheckers can't save the screen. Usually, hitting ENTER will bring the
  682.    screen back up.
  683.  
  684. PRODUCT HISTORY
  685. ---------------
  686. 1/81   Wrote my first Checkers game, in BASIC (of all things). Artificial 
  687.        intelligence -- play against the computer. SLOW....
  688.          
  689. 3/94   Decided to write BCheckers, as an exercise in teaching myself C.
  690.        Found out I could port almost *none* of my original BASIC code.
  691.  
  692. 4/94   First beta release of BCheckers (version 0.90ß). Many bugs.
  693.  
  694. 6/94   Released version 1.0 (finally!). Fixed bug where the game always
  695.        played in registered mode (boy, you guys would've loved that)!
  696.        Apparently, fixing a drop file bug introduced another one. I 
  697.        believe I have it now...
  698.  
  699. 6/94   Released version 1.0a. Version 1.0 was never really hatched, but
  700.        a few people did file request it. While it's highly unlikely you
  701.        will experience problems running 1.0, 1.0a does include more 
  702.        testing for file access conflicts in multi-node systems (and
  703.        helpful error messages). Other minor cosmetic improvements (like
  704.        stating that you are indeed being logged off when requested). 
  705.  
  706. 7/94   Released version 1.1 -- some minor bug fixes, as follows:
  707.  
  708.        1) If more than 19 games, the <more> prompt is no longer displayed 
  709.           on the same line as the 19th game. 
  710.        2) The "taken pieces" display would sometimes overwrite part of the 
  711.           "Checkers" logo if a player had crowned more pieces than his 
  712.           opponent had captured (a *very* rare circumstance). Fixed.
  713.        3) The game wouldn't recognize an upper case "Y" to verify a game 
  714.           forfeit (it would stubbornly wait for a lower case "y"). Fixed.
  715.        4) The color intensity on the remote screen would sometimes not be 
  716.           set properly. Fixed.
  717.           
  718.        New stuff: 
  719.        
  720.        1) Added the game-draw function. I have visions of many people out 
  721.           there playing version 1.0 with 1 king vs. 1 king, and no way to 
  722.           bring the game to a satisfactory conclusion! Shame on me...
  723.        2) Added the ability to set sysop paging hours.
  724.        3) Added support for leaving a note to your opponent.
  725.        4) Added the game status bulletin generator.
  726.        5) Added the hall of fame bulletin generator.
  727.        6) Added support for the RA 2.00 EXITINFO.BBS drop file format.
  728.        7) Logoff key is now "!". It was too easy to accidentally hit "9" 
  729.           rather than "8", and end up disconnecting rather than returning 
  730.           to the BBS.    
  731.  
  732. 7/94   Released version 1.1a. Found a minor bug in the Hall of Fame 
  733.        bulletin and squashed it.
  734.  
  735. 8/94   Released version 1.2. Added a carriage return to the bulletin code
  736.        in case the caller does not have screen clearing turned on. Changed
  737.        all "Press any key" prompts to "Press ENTER." This allows the user
  738.        to still take advantage of type-ahead, while fixing a problem with 
  739.        some modems sending a ^Q character when using XON/XOFF handshaking. 
  740.        Speeded up both the main menu and the board drawing routines. Board
  741.        display now shows the player's names on both sides of the board.
  742.  
  743.        Some drop file converters pad the BBS name or sysop name with extra
  744.        spaces, which caused difficulties in key recognition. BCheckers now
  745.        strips these spaces prior to applying the key recognition routine.
  746.                                                     
  747.        Made some minor changes in check for move legality in anticipation
  748.        of a "play again the computer" mode for version 2.0.
  749.  
  750. 8/94   I hate bug-fix releases! Version 1.2a was necessary to fix a bug 
  751.        that kept the bulletin generators from working. Also added code to
  752.        flush the keyboard buffer just before exiting.
  753.  
  754. 3/95   BCheckers 1.3 parses multiple drop files more effectively. This
  755.        should solve some rare/intermittent problems with key recognition.
  756.  
  757.        The QuickBBS format of EXITINFO.BBS file is now handled properly.
  758.        This should fix the "time left" problem on returning to QuickBBS.
  759.  
  760.        Previous versions of BCheckers required XON/XOFF handshaking if a
  761.        FOSSIL was not available. Hardware handshaking is now supported.
  762.  
  763.        Non-standard IRQs and base addresses are now supported if not using
  764.        a FOSSIL.
  765.        
  766.        Cleaned up the Hall of Fame code so that players with a 1-0 record
  767.        aren't listed above those with a 10-0 record just because both are
  768.        100%.         
  769.        
  770. 5/95   BCheckers 1.4 has lots of improvements!
  771.  
  772.        1) Configuration is now via a config file rather than the command line
  773.        2) New LOCAL and interactive PLAY THE SYSOP modes!
  774.        3) Replaced line chat with split-screen chat
  775.        4) Fixed DOOR.SYS key recognition
  776.        5) Added the status-line MULTIPLE PERSONALITY SYSTEM. Status line now
  777.           stays on-screen by default
  778.        6) Added session logging capability
  779.        7) Set different paging hours for each day of the week and configurable
  780.           page duration
  781.        8) Added configurable transmit/receive and FIFO buffer sizes
  782.        9) Added support for custom drop file formats
  783.                     
  784. 6/95   BCheckers 1.5 is a bugfix for a problem with the inter-player comment
  785.        code and RIP caller recognition.
  786.        
  787.  
  788.                             FUTURE OF BCHECKERS
  789.                             =================== 
  790.  
  791. Ultimately, we may add internode or inter-BBS play. I've also had a request 
  792. for a "play against the computer" mode, which I plan to implement in version
  793. 2.0. Register now while the program is still cheap!
  794.  
  795. I would welcome other ideas on how BCheckers can be improved.
  796.  
  797.