home *** CD-ROM | disk | FTP | other *** search
/ Share Gallery 1 / share_gal_1.zip / share_gal_1 / CO / CO030C.ZIP / CCHESS12.ZIP / CCHESS.DOC next >
Text File  |  1991-07-25  |  53KB  |  2,135 lines

  1. CCHESS: IBM PC Conference Chess
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.              ----------------------------------
  24.               CCHESS: IBM PC Conference Chess
  25.              ----------------------------------
  26.               Communications Accessory
  27.              ----------------------------------
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.     CCHESS is distributed freely and may be copied by anyone for any
  36.     number of machines.  The author offers CCHESS as "shareware".  If
  37.     the program is found to be useful or entertaining, a registration
  38.     of $50.00 is requested.  If response warrants, CCHESS will be
  39.     enhanced and extended.    The author may be reached at:
  40.  
  41.  
  42.                  CABER Software
  43.                  R. (Scott) McGinnis
  44.                  P.O. Box 3607 Mdse Mart
  45.                  Chicago, IL 60654-0607
  46.  
  47.                  PLINK, GEnie id: TARTAN
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60. Version 1.2: 880705
  61.  
  62. CCHESS: IBM PC Conference Chess
  63.  
  64.  
  65.  
  66.     CCHESS version 1.2 is copyright 1988 CABER Software (R.  Scott
  67.     McGinnis).  All rights are reserved world wide, excepting redistri-
  68.     bution under the ShareWare concept.  CCHESS is distributed freely
  69.     and may be copied by anyone for any number of machines, under the
  70.     ShareWare concept.
  71.  
  72.  
  73.     CCHESS is distributed as ShareWare.  You may use CCHESS without
  74.     charge for the purposes of evaluating it's usefulness to your
  75.     purposes.  It is suggested that this evaluation period be limited to
  76.     a few days of actual use.  If you find CCHESS to be worth continued
  77.     use, then you are asked to pay for it.    The payment is called a
  78.     "registration fee".  Complete the included registration form and
  79.     mail it with your payment.
  80.  
  81.  
  82.     Registration of CCHESS includes the communications program COM-AND,
  83.     all published accessory programs (which currently are PC-VCO,
  84.     CBRIDGE, and CCOLOR), and several utilities (unPACKIT and unSTUFIT).
  85.     COM-AND, accessories and utilities are published separately.  One
  86.     registration covers any and all of these programs.
  87.  
  88.  
  89.     By registering your copy of CCHESS (or any ShareWare product), you
  90.     are promoting and supporting the convenient distribution method and
  91.     free evaluation policy that brought you this copy of CCHESS.
  92.  
  93.  
  94.     If you have received this copy from a Users' Group, "Software
  95.     Library" or "SIG", and have paid a small fee (usually $3 to $10),
  96.     you have NOT acquired a registration or continued right to use
  97.     CCHESS.  This fee was for the convenience of obtaining the diskette
  98.     with CCHESS on it.  The fee does NOT apply to the registration fee.
  99.  
  100.  
  101.     You may NOT distribute CCHESS or it's documentation in connection
  102.     with ANY commercial venture, product, publication or service without
  103.     written approval.  CCHESS may not be disassembled or modified
  104.     without express written consent.
  105.  
  106.  
  107.     CCHESS is supplied "as-is" with no warranties expressed or implied.
  108.     Neither CABER software nor the author will be liable for any damages
  109.     or lost revenues incurred through the use of this program or any of
  110.     its accessories and utilities beyond the registration price paid.
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121. Version 1.2; 880705
  122.  
  123. CCHESS: IBM PC Conference Chess
  124.  
  125.  
  126.                  Table of Contents
  127.                  -----------------
  128.  
  129. I.    Introduction  .............................................. page 1
  130.  
  131. II.    Running the program  ....................................... page 2
  132.  
  133. III.    CCHESS Display    ............................................ page 5
  134.  
  135. IV.    Services supported ......................................... page 6
  136.  
  137. V.    CCHESS Commands using COM-AND .............................. page 10
  138.  
  139. VI.    CCHESS Commands Standalone ................................. page 12
  140.  
  141. VII.    CCHESS Main Menu ........................................... page 13
  142.  
  143. VIII.    Beginning a Game ........................................... page 15
  144.  
  145. IX.    Game in Progress ........................................... page 17
  146.  
  147. X.    Saving and restoring a Game ................................ page 18
  148.  
  149. XI.    Ending a Game .............................................. page 19
  150.  
  151. XII.    Program Configuration (Alt-S, and Alt-P) ................... page 20
  152.  
  153. XIII.    Program Requirements ....................................... page 23
  154.  
  155. XIV.    Program and Author Information    ............................ page 24
  156.  
  157.  
  158.  
  159.                 Appendices
  160.                 ----------
  161.  
  162.  
  163. A.    Switches and Parameters .................................... page 25
  164.  
  165. B.    Files ...................................................... page 27
  166.  
  167. C.    Messages ................................................... page 28
  168.  
  169. D.    Save file format ........................................... page 31
  170.  
  171. E.    Production Release ......................................... page 32
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182. Version 1.2: 880705
  183.  
  184. CCHESS: IBM PC Conference Chess                      Page   1
  185.  
  186.  
  187. I.    Introduction
  188.  
  189.  
  190.     A. What is CCHESS?
  191.  
  192.  
  193.        CCHESS for the IBM PC is an accessory program, intended to be
  194.        used with a 'base' communications program.  CCHESS is integrated
  195.        into the included program 'COM-AND'.  However, CCHESS may be used
  196.        with any comm program supporting a 'DOS gateway' that does not
  197.        break an established comm link.
  198.  
  199.  
  200.        CCHESS, used with network conferencing services such as People-
  201.        Link's PARTY, CompuServe's CB and GEnie's RTC conferencing,
  202.        provides a way to play chess with another person and 'see'
  203.        the game in progress.
  204.  
  205.  
  206.     B. This program
  207.  
  208.  
  209.        CCHESS Version 1.2 executes in CGA hi-res graphics mode, or in
  210.        Hercules graphics mode.  A Microsoft Mouse is supported, if one
  211.        is available.
  212.  
  213.  
  214.        CCHESS may be copied freely and distributed to anyone for any
  215.        number of machines.    The author offers CCHESS as "shareware".  If
  216.        the program is found to be useful or entertaining, a registration
  217.        is asked.  CCHESS will be extended and enhanced if response
  218.        warrants.
  219.  
  220.  
  221.     C. This document
  222.  
  223.  
  224.        This document describes the features of CCHESS.   It will not
  225.        attempt to describe all the features of COM-AND (which are
  226.        available within CCHESS if used), or any other communications
  227.        program used.  From time-to-time the assumption will be made
  228.        that COM-AND is used as the communications program, to high-
  229.        light the interaction between CCHESS and COM-AND.
  230.  
  231.  
  232.        Please do not take it that COM-AND is the only comm program
  233.        possible to use.  Refer to the documentation provided with your
  234.        favorite comm program for a full discussion of its function and
  235.        features.  They won't be available in PC-VCO, however.
  236.  
  237.  
  238.        Appendices here will provide details for very interested readers.
  239.  
  240.  
  241.  
  242.  
  243. Version 1.2: 880705
  244.  
  245. CCHESS: IBM PC Conference Chess                      Page   2
  246.  
  247.  
  248. II.    Running the program
  249.  
  250.  
  251.     CCHESS is an accessory program, and may be entered in one of three
  252.     ways: (1) it may be invoked through the accessory menu of the comm
  253.     program COM-AND, (2) CCHESS may be loaded itself (in which case it
  254.     will need to be able to load COM-AND) and (3) it may be loaded
  255.     'piggyback' (intended for use with the DOS gateway of other
  256.     communications programs.  Each method is useful and will be
  257.     discussed separately.
  258.  
  259.  
  260.     A. Loading through COM-AND
  261.  
  262.  
  263.        COM-AND is invoked at the DOS prompt with the command:
  264.  
  265.        ------------------------------------------------------
  266.        "d>" COM-AND <options>
  267.  
  268.        Where "d>" is the DOS prompt, and
  269.          <options> is (<parm> (<parm> ...))
  270.          where <parm> is either a switch or a parameter
  271.  
  272.        Refer to Appendix A of the COM-AND document for a discussion
  273.        of switches and parameters.
  274.        ------------------------------------------------------
  275.  
  276.  
  277.        Once COM-AND has been loaded, the usual sequence would be to dial
  278.        a network service using COM-AND's dialing directory or script
  279.        language.  When connection has been established, logon achieved,
  280.        and a conference area entered, then CCHESS may be selected using
  281.        the F1 Accessories menu.
  282.  
  283.  
  284.        COM-AND defines an 'accessory' as:
  285.  
  286.        o       A name which is displayed in the menu (as you like)
  287.        o       A subdirectory for use during the accessory (optional)
  288.        o       A script file to be performed (optional)
  289.        o       A program to be loaded - along with parameters (optional)
  290.  
  291.        COM-AND was supplied with several accessory menu entries set to
  292.        load CCHESS, to serve as an example.  Once loaded, CCHESS is an
  293.        independent program, using the comm link established by COM-AND,
  294.        and also many of the COM-AND functions.  CCHESS is 'integrated'
  295.        into COM-AND.
  296.  
  297.  
  298.        Note that settings (echo/blank line suppression/logging etc) made
  299.        in COM-AND carry over to the accessory when it is loaded, and
  300.        settings made in the accessory carry over to COM-AND when the
  301.        accessory terminates.
  302.  
  303.  
  304. Version 1.2: 880705
  305.  
  306. CCHESS: IBM PC Conference Chess                      Page   3
  307.  
  308.  
  309. II.    Running the program (continued)
  310.  
  311.  
  312.     B. Loading CCHESS directly
  313.  
  314.  
  315.        CCHESS may be invoked at the DOS prompt with the command:
  316.  
  317.        ------------------------------------------------------
  318.        "d>" CCHESS <options>
  319.  
  320.        Where "d>" is the DOS prompt, and
  321.          <options> is (<parm> (<parm> ...))
  322.          where <parm> is either a switch or a parameter
  323.  
  324.        Refer to Appendix A of this document for a full description of
  325.        switches and parameters.
  326.        ------------------------------------------------------
  327.  
  328.  
  329.        When CCHESS is run from the DOS prompt without the '/P' switch,
  330.        it looks for the COM-AND program on the current subdirectory (or
  331.        in the subdirectory indicated by a 'COM-AND=' environment
  332.        variable).  CCHESS will not run (without the '/P' switch) unless
  333.        it can find COM-AND.  CCHESS loads COM-AND and execution proceeds
  334.        on the CRT (COM-AND side) of the program.
  335.  
  336.  
  337.        Again, the usual sequence would be to dial a network service
  338.        using COM-AND's dialing directory or script language.  When
  339.        connection has been established, logon achieved, and a conference
  340.        area entered, then CCHESS may be invoked using the F1 key.
  341.  
  342.  
  343.        Loaded this way, the F1 key simply serves to switch between the
  344.        two sides of the program (CCHESS and COM-AND).  No menu of
  345.        additional accessories is available.  All other features of
  346.        COM-AND are available, however.
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365. Version 1.2: 880705
  366.  
  367. CCHESS: IBM PC Conference Chess                      Page   4
  368.  
  369.  
  370. II.    Running the program (continued)
  371.  
  372.  
  373.     C. Loading CCHESS Piggyback
  374.  
  375.  
  376.        CCHESS may be run piggyback as follows:
  377.  
  378.        ------------------------------------------------------
  379.        "d>" CCHESS /P COMx <speed> <other options>
  380.  
  381.        where COMx = COM1, COM2, COM3 or COM4 and
  382.           <speed> = 300, 1200, 2400, 4800, 9600
  383.  
  384.        Refer to Appendix A of this document for a full description
  385.        of other options.
  386.        ------------------------------------------------------
  387.  
  388.        For example:
  389.  
  390.            C> CCHESS /P COM1 2400
  391.  
  392.  
  393.        Used in this manner, CCHESS 'picks-up' a comm line already
  394.        opened and in use by another program.  The 'COMx' and '<speed>'
  395.        parameters are not strictly necessary; however, their use is
  396.        recommended unless you ALWAYS use the same comm port and line-
  397.        speed on all systems where ever you go.
  398.  
  399.  
  400.        Note that Alt-X terminates CCHESS and simply returns you to
  401.        DOS when CCHESS is loaded piggyback.  Alt-X terminates both
  402.        CCHESS and COM-AND when the program set is run without /P.
  403.  
  404.  
  405.        Once back at the DOS prompt, you must return to the comm program
  406.        you originally gatewayed - type 'EXIT' at the DOS prompt if your
  407.        gateway was originally to COMMAND.COM.  Refer to the documenta-
  408.        tion provided with your comm program on the appropriate means of
  409.        returning from a gateway.
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426. Version 1.2: 880705
  427.  
  428. CCHESS: IBM PC Conference Chess                      Page   5
  429.  
  430.  
  431. III.    CCHESS Display
  432.  
  433.  
  434.     When the screen is placed into graphic mode, the screen is divided
  435.     into several areas.  The top line carries the program version and
  436.     release number, and the Main menu.  To the left of the screen is a
  437.     graphic representation of a chessboard.  On the right is a scrolling
  438.     region of eight lines for text and a history of the game (if one
  439.     is currently in progress).
  440.  
  441.  
  442.     Initially the board is displayed from the point of view of the
  443.     player of the white pieces, with all pieces in their starting
  444.     position.  You may setup a particular position with the 'Setup'
  445.     pulldown.
  446.  
  447.  
  448.     To begin a game you must have an opponent waiting.  You select
  449.     'Start Game' on the Commands pulldown.  You will be queried for
  450.     board position and other details.  You will be asked to identify the
  451.     ID of your opponent.  Your CCHESS program and your opponent's then
  452.     talk to each other, agreeing over the particulars.  Your opponent
  453.     will be given a chance to refuse the set-up as you have it.  If your
  454.     opponent accepts the setup, the game begins.
  455.  
  456.  
  457.     In conversation, when a speaker is identified (through the ID or
  458.     handle - see following) to be your opponent, moves are parsed from
  459.     received lines of text.  Moves and game commands are displayed as
  460.     they happen on-line.
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487. Version 1.2: 880705
  488.  
  489. CCHESS: IBM PC Conference Chess                      Page   6
  490.  
  491.  
  492. IV.    Services supported
  493.  
  494.  
  495.     CCHESS is encoded to work with several network services and multi-
  496.     user systems.  CCHESS parses every incoming line for an ID.
  497.     CCHESS's parser is 'automatic', in that you don't have to tell it
  498.     which system to parse.
  499.  
  500.  
  501.     The ID (or handle) parse begins after a carriage return from the
  502.     network.  When the ID of your opponent is identified, chess commands
  503.     are parsed.  The text is displayed if no command is parsed.  If no
  504.     ID is identified the text is displayed.  Blank lines (extra carriage
  505.     returns issued by the network) are not displayed by CCHESS because of
  506.     the limited text area (7 lines on a CGA).
  507.  
  508.  
  509.     CCHESS internal commands (such as moves) exchanged amongst opponents
  510.     are not displayed as text of a conversation.  CCHESS does not know
  511.     if a text line is empty or not until the entire line is received.
  512.     CCHESS erases an empty text line (visible as an ID followed by no
  513.     text or followed by just a CCHESS command) and reuses the line when
  514.     end-of-line (carriage return) is received.
  515.  
  516.  
  517.     The CCHESS parser is only designed to deal with text issued within
  518.     the conversational area of one of the systems.    The parser is
  519.     self-adjusting ...  all of the supported formats will be taken as
  520.     conversation.  [The automatic nature of the parser DOES produce some
  521.     false hits now and then.  These do not interfere with CCHESS at all
  522.     in normal usage.]
  523.  
  524.  
  525.     The graphic side is not altogether appropriate for other uses, such
  526.     as reading your mail.  For other uses, switch to the alpha side (F1
  527.     if you used COM-AND).
  528.  
  529.  
  530.     The following pages describe templates for IDs and handles as dis-
  531.     played on various systems (handles are assumed names which replace
  532.     or add to an ID).  I have also included some notes on each system
  533.     and its use with CCHESS.
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548. Version 1.2: 880705
  549.  
  550. CCHESS: IBM PC Conference Chess                      Page   7
  551.  
  552.  
  553. IV.    Services supported (continued)
  554.  
  555.  
  556.     A. PLINK IDs and handles:
  557.  
  558.           "(" <ID> ") "          an initial "*" identifies handles
  559.  
  560.        Example:  (TARTAN) This is how a line would look on PLINK
  561.  
  562.  
  563.        PLINK does not report (to all in conference) when a customer
  564.        exits.
  565.  
  566.        CCHESS is best used with echo off (the system doesn't echo what
  567.        you type).  You turn echo off with the command /NOECHO.  The key-
  568.        board buffer (controls pull-down) allows you to see your typing
  569.        locally if you need.
  570.  
  571.  
  572.     B. GEnie IDs and handles:
  573.  
  574.           "<" [Handle] <ID> "> "
  575.  
  576.        Example:  <[Scott] TARTAN> This is how a line would look on GEnie
  577.  
  578.  
  579.        GEnie reports to all present the exit or termination of another
  580.        customer.  CCHESS Version 1.2 does not use the report.
  581.  
  582.        CCHESS is best used with echo off (the system doesn't echo what
  583.        you type).  GEnie does not normally echo entered characters.  If
  584.        you are echoing characters locally (alt-E) turn it off.  Use the
  585.        keyboard buffer to see your typing.
  586.  
  587.  
  588.     C. SOURCE IDs and aliases:
  589.  
  590.            <ID/alias> ": "    -or-   [nn] <ID/alias> ": "
  591.  
  592.        Example:  [22] TARTAN:  This is how a line would look on SOURCE
  593.  
  594.  
  595.        The SOURCE reports to all attending the exit or termination of
  596.        another customer.  CCHESS Version 1.2 does not use the report.
  597.  
  598.        CCHESS is best used with echo off (the system doesn't echo what
  599.        you type).  The SOURCE allows you to turn off echo by exiting the
  600.        SIG (entering command mode), setting half duplex (-> TERM -HALF)
  601.        and re-entering the SIG.
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609. Version 1.2: 880705
  610.  
  611. CCHESS: IBM PC Conference Chess                      Page   8
  612.  
  613.  
  614. IV.    Services supported (continued)
  615.  
  616.  
  617.     D. CIS handles:
  618.  
  619.           "(" <Band> , <ID> ") "
  620.                where <Band> ::= (A!B)(N!NN)","
  621.  
  622.        Example:  (A1,TARTAN) This is how a line would look on CIS
  623.  
  624.  
  625.        CIS does not report (to all in conference) when a customer exits.
  626.  
  627.        CCHESS is best used with echo off (the system doesn't echo what
  628.        you type).  You turn echo off with the command /NOECHO.  The key-
  629.        board buffer (controls pull-down) allows you to see your typing
  630.        locally if you need.
  631.  
  632.  
  633.     E. Delphi IDs and handles:
  634.  
  635.           <ID> "> "     where an initial "." identifies handles
  636.  
  637.        Example:  TARTAN> This is how a line would look on Delphi
  638.  
  639.  
  640.        Delphi does not report (to all in conference) when a customer
  641.        exits.
  642.  
  643.        CCHESS is best used with echo off (the system doesn't echo what
  644.        you type).  I recommend requesting help from an experienced
  645.        Delphi user to do this.
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670. Version 1.2: 880705
  671.  
  672. CCHESS: IBM PC Conference Chess                      Page   9
  673.  
  674.  
  675. IV.    Services supported (continued)
  676.  
  677.  
  678.     F. TBBS IDs:
  679.  
  680.           "(" <node> ":" <ID> ") "
  681.  
  682.        Example:  (9:  Scott McGinnis) This is how tbbs looks
  683.  
  684.  
  685.        TBBS does not report (to all in conference) when a customer
  686.        exits.
  687.  
  688.        TBBS is still new to me; TBBS BBS's are multiuser (up to 16 lines
  689.        to a BBS), and provide a very comfortable conferencing facility.
  690.        I haven't discovered yet how to turn local echo off.  CCHESS is
  691.        best used with echo off - if there is no such facility, I am sure
  692.        one will be added, just to keep the reading easy.
  693.  
  694.  
  695.     G. PROTOCALL IDs and handles:
  696.  
  697.            "<" nn.nn <ID> ">"
  698.  
  699.        Example:  <04.21 TARTAN> This is how PROTOCALL looks
  700.  
  701.  
  702.        PROTOCALL reports to all attending the exit or termination of
  703.        another customer and various materializations and dematerializ-
  704.        ations.  CCHESS Version 1.2 does not use the report.
  705.  
  706.        CCHESS is best used with echo off (the system doesn't echo what
  707.        you type).  You toggle echo off with the command /ECHO.  The key-
  708.        board buffer (controls pull-down) allows you to see your typing
  709.        locally if you need.
  710.  
  711.        I fully realize PROTOCALL is no more.  But the parser still parses
  712.        its format.
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731. Version 1.2: 880705
  732.  
  733. CCHESS: IBM PC Conference Chess                      Page  10
  734.  
  735.  
  736. V.    CCHESS Commands using COM-AND
  737.  
  738.  
  739.     When CCHESS is loaded with COM-AND the following Alt'd keys are
  740.     available:
  741.  
  742.     F1    Switch between text (CRT) and graphic modes.  The switch
  743.         is not allowed if a game is in progress.
  744.  
  745.     F10    Help screen.  All currently implemented commands are
  746.         summarized on this screen.  Any command may be executed
  747.         directly while this screen is displayed.
  748.  
  749.     Alt-F10 DOS Gateway.  If there is sufficient memory available, and
  750.         if the environment variable "COMSPEC" identifies a valid
  751.         .COM or .EXE file, CCHESS will load the program and execute
  752.         it.  This normally is used to load a second copy of
  753.         COMMAND.COM for full access to DOS while a communication
  754.         session is in progress.
  755.  
  756.     Ctl-End Send a Break.  This sends a true 'break' signal.
  757.  
  758.     Alt-B    Redisplay (backscreen).  The speed of the display may be
  759.         controlled using Cntl-PgDn (slower) or Cntl-PgUp (faster).
  760.  
  761.     Alt-C    Clear the screen.
  762.  
  763.     Alt-D    Dialing directory.  The Dialing directory and file is
  764.         identical to that used by Procomm (version 2.x), to allow
  765.         files to be shared between the two programs.
  766.  
  767.     Alt-E    Toggle echo (full/half duplex).  This function is also
  768.         invoked through the dialing directory (echo on).
  769.  
  770.     Alt-F    File directory.  A mask is required - just as DOS DIR
  771.         command.
  772.  
  773.     Alt-G    Toggle blank line suppression.    CCHESS will suppress blank
  774.         lines on the CRT side if you wish.  This can be made a
  775.         program default through the Alt-O options menu.
  776.  
  777.     Alt-H    Hang-up.  Hang-up the phone.
  778.  
  779.     Alt-I    Program information.  Author information.  Propaganda.
  780.  
  781.     Alt-L    Toggle CGA/EGA modes (if you have an EGA).
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792. Version 1.2: 880705
  793.  
  794. CCHESS: IBM PC Conference Chess                      Page  11
  795.  
  796.  
  797. V.    CCHESS Commands using COM-AND (continued)
  798.  
  799.  
  800.     Alt-M    Define a macro for Alt-0 through Alt-9.  The Macro defin-
  801.         ition file is identical to that used by Procomm (version
  802.         2.x), allowing Macros to be shared between the two.
  803.  
  804.         Note: Although this menu can be used from either COM-AND or
  805.         accessory, macros are defined through COM-AND and changes
  806.         will be made on the COM-AND side.
  807.  
  808.     Alt-O    Options.  Set controlling flags for COM-AND.
  809.  
  810.         Note: Although this menu can be used from either COM-AND or
  811.         accessory, it really only effects COM-AND settings.
  812.  
  813.     Alt-P    Comm Parameters.  Set baud rate, parity, number of data
  814.         and stop bits for use when COM-AND is initially loaded.
  815.         These settings are overridden by run-time switches.
  816.         Whatever the current setting, the dialing directory
  817.         overrides when it is used.
  818.  
  819.         Note: Although this menu can be used from either COM-AND or
  820.         accessory, it really only effects COM-AND settings.  Each
  821.         accessory has an Alt-P function as well accessible only when
  822.         the accessory is loaded with the '/P' switch.
  823.  
  824.     Alt-R    Redial the last number dialed.    The program will redial the
  825.         last number dialed number until the function is terminated
  826.         (with ESC), or connection is made.
  827.  
  828.     Alt-S    Setup.    Define initial program values, such as Modem initial-
  829.         ization, the Modem Hangup sequence, and file names.
  830.  
  831.         Note: Although this menu can be used from either COM-AND or
  832.         accessory, it really only effects COM-AND settings.  Each
  833.         accessory has an Alt-S function as well which may or may not
  834.         be accessible when COM-AND is loaded.
  835.  
  836.     Alt-T    Elapsed time.  The time the program was loaded, and the time
  837.         the last call (Alt-C or Alt-R) was placed are displayed.
  838.         The elapsed time since the latest time is also displayed.
  839.  
  840.     Alt-X    Exit the program.  The program may or may not hangup the
  841.         phone, depending on the modem.    Note: COM-AND is also
  842.         terminated, no matter how you loaded CCHESS and COM-AND.
  843.  
  844.     Alt-Z    Toggle parity mask.  The high bit mask is used only for text
  845.         received and displayed - it has no effect on XMODEM
  846.         transfers.
  847.  
  848.     Alt-0/9 Send a Macro.  A string of characters defined through the
  849.         Alt-M command described above is transmitted.
  850.  
  851.  
  852.  
  853. Version 1.2: 880705
  854.  
  855. CCHESS: IBM PC Conference Chess                      Page  12
  856.  
  857.  
  858. VI.    CCHESS Commands Standalone
  859.  
  860.  
  861.     When CCHESS is loaded standalone (piggyback, /P) only the following
  862.     Alt'd keys are active:
  863.  
  864.     Alt-C    Screen Clear.  Clear the text area.
  865.  
  866.     Alt-L    Toggle CGA/EGA modes (if you have an EGA).
  867.  
  868.     Alt-S    Setup.    This menu allows setting a defaults used by CCHESS.
  869.         It is also available through the 'Controls' pull-down.
  870.  
  871.     Alt-P    Set Comm Parms.  This menu provides a way to change default
  872.         communications parameters used by CCHESS ONLY when it is run
  873.         piggyback.  It is therefore only available when CCHESS is
  874.         run piggyback.
  875.  
  876.     Alt-X    Exit the program.  In this case (piggyback) only CCHESS is
  877.         terminated.  You are returned to DOS.
  878.  
  879.  
  880.     When used in this manner, the pull-down menues are still available,
  881.     of course.  Transcripting is the only function obtained through a
  882.     pull-down that is inhibited when CCHESS is run piggyback.
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914. Version 1.2: 880705
  915.  
  916. CCHESS: IBM PC Conference Chess                      Page  13
  917.  
  918.  
  919. VII.    CCHESS Main Menu
  920.  
  921.  
  922.     On the top line of the display in CCHESS there is a menu of key-
  923.     words.    A keyword is selected (with the cursor keys or a mouse),
  924.     and a submenu pulled-down (with the return or right mouse button).
  925.     Submenu items are selected (again, with the cursor keys or a mouse),
  926.     and executed (with the return, space bar, or left mouse button).
  927.  
  928.  
  929.     Top-line menu items are selected with the Cursor right/left keys or
  930.     right and left motion with the mouse.  When the cursor key is
  931.     depressed, the next menu item (in a circular manner) is highlighted.
  932.     The highlighted keyword is 'selected'.
  933.  
  934.  
  935.     A submenu is pulled-down with the Cursor-down key (or End, or PgDn,
  936.     or the left mouse button).  A submenu item is selected from a
  937.     pull-down when it is highlighted by pressing the Cursor-down/up keys
  938.     keys repetitively.  When the Cursor key is depressed, the next submenu
  939.     item (again in a circular manner) is highlighted.  The highlighted
  940.     keyword is 'selected'.
  941.  
  942.  
  943.     A selected submenu item is executed with a Carriage Return.  That's
  944.     the key with the silly arrow.  When a submenu item is executed, the
  945.     pull-down is released (it goes back up?).  Hitting the Space-bar or
  946.     the left mouse button will also execute the selected item.
  947.  
  948.  
  949.     A pull-down is released without executing any item with any of the
  950.     following keys:  ESC, Home, PgUp, or right mouse button.
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975. Version 1.2: 880705
  976.  
  977. CCHESS: IBM PC Conference Chess                      Page  14
  978.  
  979.  
  980. VII.    CCHESS Main Menu (continued)
  981.  
  982.  
  983.     A.    Controls
  984.  
  985.         The 'Controls' pulldown allows you to select certain
  986.         control functions.  Controls are:
  987.  
  988.         .  The board legend may be turned on and off
  989.         .  The board may be viewed from either
  990.            Black's or White's side
  991.         .  You may playback (and view) a saved conference
  992.            (this does not play a game).
  993.         .  Transcripting may be turned on and off (if you
  994.            loaded CCHESS with COM-AND).
  995.         .  Turn keyboard display on and off.
  996.         .  Turn transcript hold on and off.
  997.         .  Invoke CCHESS's Setup menu (Alt-S invokes COM-AND's
  998.            Setup menu if COM-AND is loaded).
  999.  
  1000.  
  1001.     B.    Commands
  1002.  
  1003.         The 'Commands' pulldown allows you to issue commands to
  1004.         start and end games, and issue commands during your turn:
  1005.  
  1006.         .  Wait for a certain opponent (who will 'start').
  1007.         .  Start a game (when you have an opponent):
  1008.            .. Start a new game
  1009.            .. Restart from a saved position
  1010.            .. Start a game, setting pieces by hand
  1011.         .  Save the current game and terminate the current
  1012.            game in progress (only during turn).
  1013.         .  Resign the current game in progress (during turn).
  1014.         .  Offer your opponent a draw (during turn).
  1015.         .  Reject the last move transmitted (during turn).
  1016.         .  Resend the last move (in case it got lost).
  1017.         .  Switch to CRT mode (even if game is in progress;
  1018.            (if a game is on, it will be terminated).
  1019.  
  1020.  
  1021.     C.    Setup
  1022.  
  1023.         The 'Setup' pulldown allows you to setup board pieces:
  1024.  
  1025.         .  Reset the board to its initial state.
  1026.         .  Manually place individual pieces.
  1027.         .  Save the current position.
  1028.         .  Restore a saved position.
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036. Version 1.2: 880705
  1037.  
  1038. CCHESS: IBM PC Conference Chess                      Page  15
  1039.  
  1040.  
  1041. VIII.    Beginning a Game
  1042.  
  1043.  
  1044.     Conceptually, the hardest part of CCHESS to visualize (or to put
  1045.     into words) is the beginning of a game.  The bullets below perhaps
  1046.     oversimplify the process, but make the process of beginning a
  1047.     chess game on-line clear (I hope).
  1048.  
  1049.  
  1050.     o    You will need access to a network supported by CCHESS
  1051.         (PLINK, GEnie, SOURCE, TBBS, PROTOCALL, CIS or Delphi)
  1052.         and an ID on that network.
  1053.  
  1054.     o    You will need to logon to the network of your choice and
  1055.         enter the/a conference area (a line, channel, room or what
  1056.         have you).
  1057.  
  1058.     o    You will need to be on the graphics side (CCHESS).  You
  1059.         will need to set-up the board (using the 'Setup' pulldown).
  1060.  
  1061.     o    You will need to have an opponent present in the same
  1062.         line/channel/room.  Your opponent will need the CCHESS
  1063.         program as well, or a well developed visual imagination,
  1064.         and accurate typing skills (not recommended).
  1065.  
  1066.     o    Your opponent will need to select 'Await opponent' from the
  1067.         'Controls' pulldown.  Your opponent must specify your ID (or
  1068.         handle or alias) as you will have it for the game.  [Note:
  1069.         you cannot change your ID/handle during the game.]
  1070.  
  1071.     o    You then select 'Start Game' from the 'Controls' pulldown.
  1072.         You will be queried as to:
  1073.  
  1074.         .  The board - is it setup correctly?
  1075.         .  Are you going to play White or Black?
  1076.         .  What is the ID of your opponent?
  1077.  
  1078.     o    At this point, you will see a notice telling you that the
  1079.         two programs (yours and your opponent's) are talking.  Your
  1080.         opponent will be shown the board, and be asked to accept the
  1081.         game.
  1082.  
  1083.     o    If your opponent accepts the board as shown, the game is on,
  1084.         and whoever plays White will be prompted for a move.  If
  1085.         your opponent rejects the board, you will be informed, and
  1086.         have another chance to setup the board and 'Start game'.
  1087.  
  1088.  
  1089.     When all this has been accomplished (most of it should seem natural
  1090.     to those who spend much time on-line), the game is 'on', and the
  1091.     first player to move will be prompted for a move.
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097. Version 1.2: 880705
  1098.  
  1099. CCHESS: IBM PC Conference Chess                      Page  16
  1100.  
  1101.  
  1102. VIII.    Beginning a Game (continued)
  1103.  
  1104.  
  1105.     Moves are prompted in the lower right hand corner (of the CGA
  1106.     screen, and above the text area on a Hercules screen).    A move is
  1107.     entered as "<from> <to>" using standard notation.  For example:
  1108.  
  1109.         Our move: E2E4
  1110.  
  1111.     would be King's pawn on 2 moved to King's Pawn on 4 for White, as
  1112.     White's first move.  Turning on the board legend makes the standard
  1113.     notation easy to use (for those of us raised "P-K4").
  1114.  
  1115.  
  1116.     When you are prompted for a move, you have a few other options as
  1117.     well as the obvious one of entering <from> <to> square designations.
  1118.     You can use the mouse to select the <from> and <to> squares, or you
  1119.     might enter one of the following:
  1120.  
  1121.         o-o                Short castle
  1122.         o-o-o                Long castle
  1123.         REJECT                Refuse the last move
  1124.         DRAW                Offer a draw
  1125.         SAVE                SAVE the current position
  1126.         RESIGN                Exit the game
  1127.         EXIT                Terminate the game
  1128.         Esc                Hit the escape key
  1129.  
  1130.     When you hit the 'escape' key, your cursor will re-appear in the
  1131.     scrolling text area and you may type to your opponent (or anybody
  1132.     listening/watching).  When you enter a carriage return (or the Esc
  1133.     key again), you will be returned to the move prompt.
  1134.  
  1135.  
  1136.     You use the mouse to select <from> and <to> squares as follows:
  1137.  
  1138.     o    Select the <from> square with the mouse.
  1139.     o    Press the left mouse button to 'keep' that square.
  1140.     o    Select the <to> square you wish with the mouse.
  1141.     o    Press the left mouse button to 'keep' that square and send
  1142.         the move to your opponent.
  1143.  
  1144.  
  1145.     Backspace will erase your entry (entered through the keyboard or the
  1146.     mouse).  When you type a carriage return (or a second left mouse
  1147.     button if you're using one), your move is verified and sent to your
  1148.     opponent.  [Note:  CCHESS does not verify moves per se (it does not
  1149.     help you play a better game, or avoid errors).    CCHESS only verifies
  1150.     that there is a piece of your color on the <from> square.]
  1151.  
  1152.  
  1153.     Should line noise, or the inadvertent loss of your opponent (for
  1154.     example due to 'call waiting') interfere with the exchange of moves,
  1155.     you may resend your last move with the 'Commands' pulldown.
  1156.  
  1157.  
  1158. Version 1.2: 880705
  1159.  
  1160. CCHESS: IBM PC Conference Chess                      Page  17
  1161.  
  1162.  
  1163. IX.    Game in progress
  1164.  
  1165.  
  1166.     Once the game has started, CCHESS supports the play by alternating
  1167.     move prompts, first white then black, and so on.  There are a few
  1168.     limitations imposed by CCHESS when a game is in progress.
  1169.  
  1170.  
  1171.     o    You cannot switch to the CRT side (COM-AND) without
  1172.         terminating the current game in progress.  While a game is
  1173.         in progress, the F1 key is inhibited.
  1174.  
  1175.     o    Should you encounter a program bug, or an emergency need
  1176.         to switch to the CRT side, you may do so.  The 'Commands'
  1177.         pulldown allows a switch to CRT side - however, it will
  1178.         terminate any current game in progress.
  1179.  
  1180.     o    You can playback received text (if you loaded CCHESS with
  1181.         COM-AND) with Alt-B only when it is not your turn.  You
  1182.         will see transmitted and received CCHESS commands in the
  1183.         playback, but CCHESS does not act upon them.
  1184.  
  1185.     o    Should your opponent loose a move (due to line noise or
  1186.         what have you), you may resend your last move using the
  1187.         'Commands' pulldown.  Select 'Resend move'.
  1188.  
  1189.     o    You may reject your opponent's last move.  You may type the
  1190.         command 'REJECT' at your move prompt, or you may select
  1191.         'Reject move' from the 'Controls' pulldown.  However, no
  1192.         more than one move may be rejected at a time... you may not
  1193.         reject the move prior to your opponent's REJECT.
  1194.  
  1195.     o    Certain commands (EXIT/DRAW/RESIGN/REJECT) may only be
  1196.         performed during your 'turn'.
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219. Version 1.2: 880705
  1220.  
  1221. CCHESS: IBM PC Conference Chess                      Page  18
  1222.  
  1223.  
  1224. X.    Saving and Restoring a Game
  1225.  
  1226.  
  1227.     You may save a game in progress at any time using the 'SAVE'
  1228.     command entered at the move prompt (as described above), or the
  1229.     'Save' option of the 'Setup' pull-down, or the 'Save and exit'
  1230.     option of the 'Commands' pulldown.  All three methods save the
  1231.     current game (or board position if there isn't a game in progress)
  1232.     in a disk file.  If there is a disk file of the name you select, it
  1233.     will be purged and the new position written over it.
  1234.  
  1235.  
  1236.     When a position is saved, the following items are recorded:
  1237.  
  1238.     o    Timestamp of the save
  1239.     o    The current board position
  1240.     o    The current 'to move' value (if any)
  1241.     o    The game history (if any)
  1242.  
  1243.  
  1244.     You may restore a saved position when no game is in progress, with
  1245.     the 'Restore position' option of the 'Setup' pulldown.  When you
  1246.     restore a saved position, you will see the board as it was when
  1247.     the save file was taken.  You will not see the 'to move' value
  1248.     unless you use the restored position to start a game ('START by
  1249.     hand').
  1250.  
  1251.  
  1252.     You may also restore a saved position when you initiate a game.
  1253.     When you choose this option ('Restart saved game' of the 'Controls'
  1254.     pulldown), the game as it was when the save took place is restored.
  1255.     You will see the move log as it was when the save was taken (your
  1256.     opponent will not, of course).    You may select either color to play
  1257.     from this point.
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280. Version 1.2: 880705
  1281.  
  1282. CCHESS: IBM PC Conference Chess                      Page  19
  1283.  
  1284.  
  1285. XI.    Ending a Game
  1286.  
  1287.  
  1288.     CCHESS offers several options for terminating a game in progress.
  1289.     Please note that when a game is terminated, CCHESS does not
  1290.     terminate.  You may start a new game, switch to the CRT side (if
  1291.     you loaded CCHESS with COM-AND), or just sit and puzzle.  Game
  1292.     termination refers only to CCHESS's tracking/display of a game.
  1293.  
  1294.  
  1295.     A.    Draw
  1296.  
  1297.         You may offer your opponent a draw only on your turn.  When
  1298.         you offer a draw, your opponent will be queried for accept-
  1299.         ance.  If you opponent accepts the offer, the game is done.
  1300.         If your opponent rejects the offer the game must continue.
  1301.  
  1302.     B.    Save and Exit
  1303.  
  1304.         You may save the current position and exit the game at any
  1305.         time.  When you execute this option, your opponent will be
  1306.         informed of the fact, and your opponent's game terminated as
  1307.         well.
  1308.  
  1309.     C.    Resign
  1310.  
  1311.         You may resign a game in progress when it is your move.
  1312.         Your game is terminated, as is your opponent's.
  1313.  
  1314.  
  1315.     You may save a game position after you have ended a game.  This
  1316.     allows you to save a game for later restart when 'call waiting'
  1317.     knocks your opponent off-line.
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.  
  1330.  
  1331.  
  1332.  
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341. Version 1.2: 880705
  1342.  
  1343. CCHESS: IBM PC Conference Chess                      Page  20
  1344.  
  1345.  
  1346. XII.    Program Configuration (Alt-S, and Alt-P)
  1347.  
  1348.  
  1349.     A. Setup Screen (Alt-S)
  1350.  
  1351.        1. Files
  1352.  
  1353.           . Default Save file
  1354.  
  1355.         When you save a position, you will be asked for a file name.
  1356.         The file name specified here is used if you enter a blank
  1357.         save file name to this query.
  1358.  
  1359.           . Default Log
  1360.  
  1361.         This file name will be used when you request transcripting
  1362.         and enter a blank in response to the log file name query.
  1363.  
  1364.        2. Timings and Values
  1365.  
  1366.           . Millisecond loop
  1367.  
  1368.         The millisecond loop value gives the number of LOOP instruc-
  1369.         tions required to wait for one millisecond.  This type of
  1370.         timing function is used in CCHESS in several places: 1) to
  1371.         to pace displays such as playback, and 2) for tone
  1372.         generation.  260 is suggested for 4.77 Mhz clocks.  432 is
  1373.         recommended for 8Mhz clocks.  CCHESS will attempt to
  1374.         calculate the correct value if you set it smaller than 10.
  1375.  
  1376.           . Break delay
  1377.  
  1378.         As noted above, the break delay is controlled through the
  1379.         Millisecond loop value.  This value "break delay"
  1380.         specifies the number of "milliseconds" the comm line is
  1381.         held when a break is issued (Cntl-END).
  1382.  
  1383.           . Text Lines
  1384.  
  1385.         You may set the size of the scrolling region for text.
  1386.         Dedicated gamers will want less text, and more game history.
  1387.         Buffs will want more talk and less game...  Note that this
  1388.         doesn't take effect until the next use of CCHESS.
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402. Version 1.2: 880705
  1403.  
  1404. CCHESS: IBM PC Conference Chess                      Page  21
  1405.  
  1406.  
  1407. XII.    Program Configuration (continued)
  1408.  
  1409.  
  1410.     A. Setup Screen (Alt-S) (continued)
  1411.  
  1412.        3. Flags
  1413.  
  1414.           . Initial advert
  1415.  
  1416.         Turn off the advert after you've seen it.  Just before you
  1417.         register...  This only effects standalone usage.
  1418.  
  1419.           . Exit Query
  1420.  
  1421.         Some people disdain the query "do you really and truly mean
  1422.         it" when they type Alt-X.  Some feel it mandatory.  CCHESS
  1423.         is distributed with exit query disabled.  You may enable it,
  1424.         if you're so inclined.  This only effects standalone usage.
  1425.  
  1426.  
  1427.        4. Save
  1428.  
  1429.           You may change values for one execution of CCHESS, or you
  1430.           may change them for all subsequent executions of CCHESS.    If
  1431.           you save values, the values you've saved will be used the
  1432.           next time you run CCHESS.
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463. Version 1.2: 880705
  1464.  
  1465. CCHESS: IBM PC Conference Chess                      Page  22
  1466.  
  1467.  
  1468. XII.    Program Configuration (continued)
  1469.  
  1470.  
  1471.     B. Communications Parameters (Alt-P)
  1472.  
  1473.        1. Rate + Parity + Data bits + Stop Bits
  1474.  
  1475.           Baud rate, parity, number of data bits and number of stop bits
  1476.           are specified in combination through the first 10 selections
  1477.           on the Alt-P window.  These selections are the only way you
  1478.           may specify baud rate.  Other parameters (parity, data bits,
  1479.           and stop bits) may be set individually (below).
  1480.  
  1481.           Do not change the current setting after you've connected to a
  1482.           service.    Make your setting here before you use CCHESS
  1483.           on-line.
  1484.  
  1485.        2. Parity, Data bits and Stop bits
  1486.  
  1487.           Individual settings for parity, number of data bits and number
  1488.           of stop bits comprise the next 7 items of this menu.  You also
  1489.           set these values when you create a dialing directory entry.
  1490.  
  1491.           Again - do not change the current setting after you've
  1492.           connected to a service.  The settings on this screen are
  1493.           effective only when CCHESS is run standalone.  Changing a
  1494.           setting here could disconnect you.
  1495.  
  1496.        3. COM ports
  1497.  
  1498.           The last four items on this menu are the candidates for COM
  1499.           ports.  Select the appropriate port for your modem.  This item
  1500.           is usually selected once, and then left alone.
  1501.  
  1502.        4. Save
  1503.  
  1504.           You save the current settings for the next execution of CCHESS
  1505.           through the "Save" selection.  Settings are saved to disk.
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524. Version 1.2: 880705
  1525.  
  1526. CCHESS: IBM PC Conference Chess                      Page  23
  1527.  
  1528.  
  1529. XIII.    Program Requirements
  1530.  
  1531.  
  1532.     This program can only function on an IBM PC or DOS compatible
  1533.     machine.  CCHESS does direct to screen buffer fetches and stores;
  1534.     so compatibility is an important issue.
  1535.  
  1536.  
  1537.     CCHESS supports CGA and Hercules.  CCHESS uses a Microsoft Mouse if
  1538.     one is available (not well, but it'll certainly get better).
  1539.  
  1540.  
  1541.     CCHESS disk I/O is done through the 'Handle' oriented I/O routines
  1542.     added to DOS 2.0.  Therefore DOS 2.0 is a minimum requirement.
  1543.  
  1544.  
  1545.     CCHESS (Version 1.2) requires 95K for itself.  So you need 192.  To
  1546.     take advantage of the DOS Gateway (use another comm program) or to
  1547.     use COM-AND, you'll need 384K.
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585. Version 1.2: 880705
  1586.  
  1587. CCHESS: IBM PC Conference Chess                      Page  24
  1588.  
  1589.  
  1590. XIV.    Program and Author Information
  1591.  
  1592.  
  1593.     This program was written using Microsoft Macro-Assembler.  The
  1594.     author likes assembler.  Assembly language is an entirely appro-
  1595.     priate vehicle for some of the program, and a not-inappropriate
  1596.     vehicle for the rest of it.  Everything, in moderation...
  1597.  
  1598.  
  1599.     The author of this program is R.  Scott McGinnis of Chicago,
  1600.     Illinois.  PLINK and GEnie ID:    TARTAN.  Comment and suggestions
  1601.     (and criticism in moderation) are welcomed:
  1602.  
  1603.              CABER Software
  1604.              R. (Scott) McGinnis
  1605.              P.O. Box 3607 Mdse Mart
  1606.              Chicago, IL 60654-0607
  1607.  
  1608.  
  1609.     For this program, I wish to thank my wife Elizabeth.  She supported
  1610.     me whole-heartedly in this effort.  Without her belief in me I'd
  1611.     probably be prospecting somewhere in the desert, talking to mules.
  1612.  
  1613.  
  1614.     This program (Version 1.2) may be distributed freely with the caveat
  1615.     that the Author information displayed at program termination is not
  1616.     removed.  If the program is found entertaining or useful, a regis-
  1617.     tration of $50.00 is requested.  Should response warrant it, I will
  1618.     continue to develop and support this product.
  1619.  
  1620.  
  1621.     Most of the hardware names and software names in this document are
  1622.     trademarks or trade names of specific manufacturers.
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646. Version 1.2: 880705
  1647.  
  1648. CCHESS: IBM PC Conference Chess                      Page  25
  1649.  
  1650.  
  1651. A.    Switches and parameters
  1652.  
  1653.  
  1654.     Program Switches:
  1655.  
  1656.     /C 'CGA only':  You may specify a CGA display only with this switch.
  1657.         EGA and Hercules displays are inhibited.  The default for CCHESS
  1658.         is to automatically adjust to Hercules or CGA.
  1659.  
  1660.     /G  'Force Hercules':  You may force Hercules mode even if PC-VCO
  1661.         doesn't think you have a Hercules board.  However - use this
  1662.         switch cautiously.
  1663.  
  1664.     /H 'Hercules':  You may specify a Hercules admissible with this
  1665.         switch.  This is the default.
  1666.  
  1667.     /E 'EGA':  CCHESS ignores the availablility of an EGA adaptor
  1668.         unless you use this switch (EGA may be toggled within CCHESS
  1669.         with Alt-L).  CCHESS does not display a 'square' chess board
  1670.         with EGA, but EGA does give considerably more room for text.
  1671.  
  1672.     /P  'Piggyback':  CCHESS will open the COM port in such a manner as
  1673.         to retain another program's already opened line.  When CCHESS is
  1674.         exited, the previous state is restored.  This is for use with
  1675.         other communications programs having a DOS Gateway (e.g.
  1676.         PROCOMM).
  1677.  
  1678.     /X  'Debug mode': This switch enables certain resident debugging
  1679.         keys.  I do not recommend you use it.  I document it only for
  1680.         the VERY curious.
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707. Version 1.2: 880705                           Appendices
  1708.  
  1709. CCHESS: IBM PC Conference Chess                      Page  26
  1710.  
  1711.  
  1712. A.    Switches and Parameters (continued)
  1713.  
  1714.  
  1715.     Program parameters:
  1716.  
  1717.        COM1     CCHESS uses the COM1 port
  1718.        COM2     CCHESS uses the COM2 port
  1719.        COM3     CCHESS uses the COM3 port
  1720.        COM4     CCHESS uses the COM4 port
  1721.  
  1722.        300        CCHESS uses port at 300 baud
  1723.        1200     CCHESS uses port at 1200 baud
  1724.        2400     CCHESS uses port at 2400 baud
  1725.        4800     CCHESS uses port at 4800 baud
  1726.        9600     CCHESS uses port at 9600 baud
  1727.  
  1728.        EVEN     CCHESS uses port with even parity
  1729.        ODD        CCHESS uses port with odd parity
  1730.        NONE     CCHESS uses port with no parity
  1731.  
  1732.        DATA7    CCHESS transmits/receives 7 data bits
  1733.        DATA8    CCHESS transmits/receives 8 data bits
  1734.  
  1735.        STOP1    CCHESS uses and expects 1 stop bit
  1736.        STOP2    CCHESS uses and expects 2 stop bits
  1737.  
  1738.  
  1739.     Program switches require no delimiters.  Parameters when contiguous
  1740.     must be preceded by a blank.  For example:
  1741.  
  1742.     A> CCHESS 1200        Run the program for 1200 baud communications
  1743.     A> CCHESS /P1200    Piggyback, 1200 baud
  1744.     A> CCHESS /P 1200    Piggyback, 1200 baud
  1745.  
  1746.  
  1747.     Program defaults are:
  1748.  
  1749.     A> CCHESS COM2 300 EVEN DATA7 STOP1
  1750.  
  1751.  
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768. Version 1.2: 880705                           Appendices
  1769.  
  1770. CCHESS: IBM PC Conference Chess                      Page  27
  1771.  
  1772.  
  1773. B.    Files
  1774.  
  1775.  
  1776.     Program files:    CCHESS expects the following files on the default
  1777.     drive (and subdirectory)
  1778.  
  1779.     CCHESS.DFT    Parameter save area (Alt-S and Alt-P)
  1780.  
  1781.  
  1782.     CCHESS will create this file if it is not found.  CCHESS will auto-
  1783.     matically update the .DFT file if the program version number is
  1784.     different from the .DFT file version number.  When CCHESS is loaded,
  1785.     the old file format will be loaded.  A new file will then be created
  1786.     to replace the old file.
  1787.  
  1788.  
  1789.     When a new major (e.g.    1.0, 1.0, ...) is released or when you move
  1790.     CCHESS from one machine to another the previous .DFT file probably
  1791.     should be purged (and recreated by CCHESS).
  1792.  
  1793.  
  1794.     CCHESS also uses (if available) the following files:
  1795.  
  1796.     CCHESS.SAV    Default save position file
  1797.     CCHESS.LOG    Default log file name
  1798.  
  1799.  
  1800.     Each of these file names may be changed through the ALT-S (Setup)
  1801.     Menu.  CCHESS currently implements the rule for file names:  If the
  1802.     given file name carries a drive spec (i.e.  C:) or path (sub-
  1803.     directory), the name is taken 'as is'.  If neither condition holds,
  1804.     the default drive and subdirectory are added to the file name.
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829. Version 1.2: 880705                           Appendices
  1830.  
  1831. CCHESS: IBM PC Conference Chess                      Page  28
  1832.  
  1833.  
  1834. C.    Messages
  1835.  
  1836.  
  1837.     Only for the technically inclined, I've included here the actual
  1838.     messages CCHESS issues.  These messages are ASCII, and when received
  1839.     are expected to be prefaced by a parsable ID or handle.
  1840.  
  1841.  
  1842.     AWAIT opponent: Transmitted when game is set to 'await opponent'.
  1843.  
  1844.         CHESS: WAITING
  1845.         =-----+------=
  1846.               !
  1847.               +----------------------> 15 bytes, literal ascii
  1848.  
  1849.     START Game: Transmitted by initiator of a game.  The receiver
  1850.     must be 'awaiting opponent'.  The transmitter awaits either
  1851.     (1) ACCEPT or (2) REJECT messages from the receiver.
  1852.  
  1853.         CHESS: START xyz<board><chksum>
  1854.         =-----+----=-+++=--+--==--+---=
  1855.               !      !!!  !     !
  1856.               !      !!!  !     +----> 2 byte checksum, bin-ascii
  1857.               !      !!!  !
  1858.               !      !!!  +-----------> 64 byte board, bin-ascii
  1859.               !      !!!
  1860.               !      !!+--------------> 1 byte: Value 1/2 Unused
  1861.               !      !!
  1862.               !      !+---------------> 1 byte: Value 1/2 We are B/W
  1863.               !      !
  1864.               !      +----------------> 1 byte: Value 1/2 Who first
  1865.               !
  1866.               +-----------------------> 13 bytes; literal ASCII
  1867.  
  1868.     ACCEPT game: Transmitted by receiver to initiator to accept START.
  1869.  
  1870.         CHESS: GAME
  1871.         =----+----=
  1872.              !
  1873.              +----------------------> 12 bytes, literal ascii
  1874.  
  1875.     REJECT game: Transmitted by receiver to initiator to reject START.
  1876.  
  1877.         CHESS: REJECT
  1878.         =----+------=
  1879.              !
  1880.              +----------------------> 14 bytes, literal ascii
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890. Version 1.2: 880705                           Appendices
  1891.  
  1892. CCHESS: IBM PC Conference Chess                      Page  29
  1893.  
  1894.  
  1895. C.    Messages (continued)
  1896.  
  1897.  
  1898.     EXIT game: Transmitted by current player to signal abrupt terminate.
  1899.  
  1900.         CHESS: EXIT
  1901.         =----+----=
  1902.              !
  1903.              +----------------------> 12 bytes, literal ascii
  1904.  
  1905.     RESIGN game: Transmitted by current player to resign game.
  1906.  
  1907.         CHESS: RESIGN
  1908.         =----+------=
  1909.              !
  1910.              +----------------------> 14 bytes, literal ascii
  1911.  
  1912.     DRAW game: Transmitted by current player to offer a draw.  This
  1913.     message will be acknowledged by (1) OKDRAW or (2) NODRAW
  1914.  
  1915.         CHESS: DRAW
  1916.         =----+----=
  1917.              !
  1918.              +----------------------> 12 bytes, literal ascii
  1919.  
  1920.     OKDRAW: Transmitted in response to DRAW message to accept
  1921.  
  1922.         CHESS: OKDRAW
  1923.         =----+------=
  1924.              !
  1925.              +----------------------> 14 bytes, literal ascii
  1926.  
  1927.     NODRAW: Transmitted in response to DRAW message to reject
  1928.  
  1929.         CHESS: NODRAW
  1930.         =----+------=
  1931.              !
  1932.              +----------------------> 14 bytes, literal ascii
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951. Version 1.2: 880705                           Appendices
  1952.  
  1953. CCHESS: IBM PC Conference Chess                      Page  30
  1954.  
  1955.  
  1956. C.    Messages (continued)
  1957.  
  1958.  
  1959.     MOVE command: Transmitted by current player to indicate move.  This
  1960.     message rejected ad hoc by REJECT MOVE
  1961.  
  1962.         CHESS: MOVE xxyy
  1963.         =-----+---=-=+=+
  1964.               !      ! !
  1965.               !      ! +-------------> 'to' square, <alpha><numeric>
  1966.               !      !
  1967.               !      +---------------> 'from' square, <alpha><numeric>
  1968.               !
  1969.               +----------------------> 12 bytes, literal ascii
  1970.  
  1971.     REJECT move: Transmitted during turn after 1st move
  1972.  
  1973.         CHESS: REJECT
  1974.         =----+------=
  1975.              !
  1976.              +----------------------> 14 bytes, literal ascii
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.  
  1984.  
  1985.  
  1986.  
  1987.  
  1988.  
  1989.  
  1990.  
  1991.  
  1992.  
  1993.  
  1994.  
  1995.  
  1996.  
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011.  
  2012. Version 1.2: 880705                           Appendices
  2013.  
  2014. CCHESS: IBM PC Conference Chess                      Page  31
  2015.  
  2016.  
  2017. D.    Save file structure:
  2018.  
  2019.     0     1     2      3    4     5     6      7    8
  2020.     +-----+-----+-----+-----+-----+-----+-----+-----+---//
  2021.     ! 'C' ! 'C' ! 'H' ! 'E' ! 'S' ! 'S' ! <ver-rev> !   ...
  2022.     +-----+-----+-----+-----+-----+-----+-----+-----+---//
  2023.  
  2024.           8     9      10    11    12    13      14   ...    18
  2025.       //--+-----+-----+-----+-----+-----+-----+----/ /----+-----+---//
  2026.           ! mm      ! '/' ! dd        ! '/' ! yyyy      ! ' ' !   ...
  2027.       //--+-----+-----+-----+-----+-----+-----+----/ /----+-----+---//
  2028.  
  2029.           18    19      20    21    22    23      24    25    26
  2030.       //--+-----+-----+-----+-----+-----+-----+-----+-----+---//
  2031.           ! hh      ! ':' ! mm        ! ':' ! ss        !   ...
  2032.       //--+-----+-----+-----+-----+-----+-----+-----+-----+---//
  2033.  
  2034.           26             ...              76
  2035.       //--+-----+-----+-----+----/ /----+-----+-----+-----+---//
  2036.           ! Col ! ToM ! 48 bytes reserved for future use  !   ...
  2037.       //--+-----+-----+-----+----/ /----+-----+-----+-----+---//
  2038.  
  2039.           76      78          80      202          204
  2040.       //--+-----+-----+-----+-----+----/ /----+-----+------
  2041.           ! Square 0  ! Square 1  !    ...      ! Square 63 !
  2042.       //--+-----+-----+-----+-----+----/ /----+-----+-----+
  2043.  
  2044.           204      206          208      ...
  2045.       //--+-----+-----+-----+-----+-----------+----/ /-----
  2046.           ! Log count ! White 1   ! Black 1   ! White 2   ...
  2047.       //--+-----+-----+-----+-----+-----------+----/ /----+
  2048.  
  2049.         <Ver-rev>    Binary, Version * 256 + Revision
  2050.         mm        ASCII, Month number (01-12)
  2051.         dd        ASCII, Day number (01-31)
  2052.         yyyy        ASCII, Year
  2053.         hh        ASCII, Hour number (00-23)
  2054.         mm        ASCII, Minute number (00-59)
  2055.         ss        ASCII, Second number (00-59)
  2056.         Col        Color of saving player (0 = white)
  2057.         ToM        Color of player to move (0 = white)
  2058.         Square <n>    Binary, represents piece on square n
  2059.         White 1     Binary, <from square #> <to square #>
  2060.         Log count    Binary, count of move log in bytes
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073. Version 1.2: 880705                           Appendices
  2074.  
  2075. CCHESS: IBM PC Conference Chess                      Page  32
  2076.  
  2077.  
  2078. E.    Production release
  2079.  
  2080.  
  2081.     This version, 1.2, is not a beta release.  Beta testing of CCHESS has
  2082.     proven it as a useful conference accessory.  I thank Dave Thomas of
  2083.     the GEnie Laptop RT for making a place for beta testing of this
  2084.     program.  This program will be extended ONLY if people downloading
  2085.     this and reviewing it find it of interest...  interesting enough to
  2086.     use it and to report back to me difficulties and problems...  and
  2087.     interesting enough to register.
  2088.  
  2089.  
  2090.     There are may be oversights and errors of omission in this program.
  2091.     As this is the third public release, I expect there'll be cosmetic
  2092.     requests as well as functional requests.  Previous releases of CCHESS
  2093.     were labelled beta releases.  This version is not.  In the following
  2094.     weeks (months) I may address the following matters:
  2095.  
  2096.     o    Coronation (Piece promotion)
  2097.     o    REJECT more than one layer of moves
  2098.     o    A protocol for move exchange (receiver ACK's each MOVE).
  2099.     o    A chess clock.
  2100.     o    Playback of a saved game.
  2101.  
  2102.  
  2103.     Each of these matters are areas I would appreciate other's opinions.
  2104.     For example, a protocol for move exchanges would ensure that moves
  2105.     are received by the opponent, and ensure you are informed of a lost
  2106.     move.  However - what should be done at that point?  Experience may
  2107.     show that no such protocol is required - or experience may leave some
  2108.     very frustrated gamers.
  2109.  
  2110.  
  2111.     The comments and criticisms I receive will be used to guide the
  2112.     development of the next version and further versions of this game.
  2113.     When I feel that the program is satisfactory (to its users), I'll go
  2114.     on to produce a version of CHECKERS and a version of BACKGAMMON for
  2115.     on-line use.
  2116.  
  2117.  
  2118.     Please address any comments and criticisms you have - and bug reports
  2119.     to the ID TARTAN on either the GEnie or PLINK systems.
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127.  
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134. Version 1.2: 880705                           Appendices
  2135.