home *** CD-ROM | disk | FTP | other *** search
/ The Best Internet Programs / BESTINTERNET.bin / internet / slics / slics20i.exe / README.TXT < prev    next >
Encoding:
Text File  |  1995-04-19  |  12.1 KB  |  336 lines

  1. -------
  2. CHESSBD
  3. -------
  4. (c) 1994, 1995 by Don Fong (dfong@igc.apc.org)
  5. Updated april 1995
  6.  
  7. 1. GENERAL DESCRIPTION
  8.  
  9. CHESSBD is a chess game reader (or "viewer") for Windows, similar to PGNRD
  10. by Keith Fuller.  It can read "almost any" game file.  It incorporates a
  11. heuristic parser that attempts to handle sloppy "natural" input and poorly
  12. specified formats.  The goal --- not quite attained --- is to parse
  13. anything posted to the the rec.games.chess newsgroup, with no hand editing.
  14. For example, CHESSBD can more or less make sense of the "Shamkovich benchmark"
  15. posted by Steven J. Edwards in Jan 1994.  However, some files cannot be
  16. parsed without hand editing.
  17.  
  18. CHESSBD is shareware.  See section 4 below for details.
  19.  
  20. See section 6 below for installation instructions.  See the online help for
  21. usage instructions, or for information about the syntax and heuristics used
  22. by CHESSBD.
  23.  
  24. 2. FEATURES
  25.  
  26. * Recognizes both algebraic and descriptive move notation, eg,
  27.     p-k4
  28.     p-n8=Q+
  29.     e4
  30.     e8Q
  31. * Accepts most known variants of "castling" notation
  32.     oo
  33.     0-0-0
  34. * Disambiguates using +# (ep) indicators, etc
  35.     nxp#
  36. * Recognizes PGN game headers
  37.     [Event "..."]
  38. * Recognizes "natural" game headers of the form
  39.     White: XXX Black: YYY
  40. * Handles nested variations between ()'s
  41.     (14. Nxd5 Qxd5 (14...Nxd5 e5!))
  42. * Heuristically recognizes variations embedded in commentary text
  43.     15... d5
  44.         If 15... dc, Black will be faced with the ...
  45. * Interactive "drag and drop" moves using the mouse
  46. * Interactive traversal of game tree
  47. * Works under Windows 3.1; uses color
  48. * Can function as an ICS interface via Winsock TCP/IP.
  49.  
  50. 2.1. NEW IN CHESSBD 2.0
  51.  
  52. Features added since first release as CHESSBD 1.0 :
  53. * ICS interface capability
  54. * Bug fixes (see section 7).
  55. * SAN compatible output.
  56. * Supports PGN [Setup "..."] tag.
  57. * Partial support for USCF standard headers
  58. * Improved dialogs for navigation and game selection.
  59. * Textport wraps long lines (%set wrapcol=NNN).
  60. * Create index files for faster reloading of large files.
  61. * Fairly complete options dialog.
  62. * Windows help file.
  63.  
  64. 3. BUGS AND MISFEATURES
  65.  
  66. * Makes NO attempt to fix incorrect input moves (eg by capitalization)
  67.   or guess ambiguous moves.
  68. * Windows 3.1 only; will NOT run under 3.0 .
  69. * Inefficient, may run slow.
  70. * Uses Borland C++ 4.0 and OWL 2.0, therefore it exhibits the associated
  71.   peculiarities and glitches.
  72. * OPTIONS dialog is weak and needs more work.
  73. * HELP file is weak and needs more work.
  74. * See also the section "Implicit Header Recognition Failures"
  75.   in the "Parser Heuristics" help topic.
  76. * ICS functions are still somewhat immature.
  77.  
  78. 4. ORDERING INFORMATION
  79.  
  80. CHESSBD is shareware.  If you find this program useful,
  81. please send a contribution of $5.00 or more to:
  82.     Don Fong/227 Alta Ave/Santa Cruz, CA 95060 USA
  83. Thanks to everyone who sent $$ for CHESSBD 1.0 !
  84.  
  85. Send bug reports and suggestions to:
  86.     dfong@igc.apc.org
  87.  
  88. Thanks.
  89.  
  90. 5. ACKNOWLEDGEMENTS
  91.  
  92. Thanks to Keith Fuller (PGNRD) who gave me advice on windowization,
  93. and to Daryl K. Baker whose windows port of GNUCHESS contained many
  94. instructive examples of how do do things.
  95.  
  96. 6. INSTALLATION
  97.  
  98. CHESSBD is a windows program; install it as you would any windows
  99. program.  Decide what directory you want to put it in, and make that
  100. the startup directory for the program when creating the program item.
  101. Move the files chessbd.exe, chessbd.ini, chessbd.hlp, _chessbd.rc,
  102. and icsprofs.dat files into the same directory.  If you are going to
  103. use custom .ini files --- for example, setting up your user-programmable
  104. buttons or menu items (see "About other .ini files" below) --- then
  105. put these files in the same directory too.  See the online help for
  106. more info.
  107.  
  108. You will probably want to edit the example ex_ics.rc script (and then
  109. rename it to be _ics.rc) to have your correct ICS login name and password,
  110. so the program can log you in automatically.  You will probably want to
  111. edit the icsprofs.dat dialing directory to have your correct login name on
  112. the different servers, so the program can help you switch between servers
  113. easily.  See the online help for more info.
  114.  
  115. 6.1. INVENTORY
  116.     chessbd.exe - the executable - required
  117.     chessbd.hlp - winhelp file - required
  118.     chessbd.ini - initialization - recommended
  119.     _chessbd.rc - program startup script - optional
  120.     icsprofs.dat - dialing directory - recommended
  121.     nicok.ini - alternative pieces by nicok@IAEhv.nl
  122.         (Nico Koolsbergen) - doc
  123.     ericch.ini - alternative pieces by ericch@microsoft.com
  124.         (Eric Churchill) - doc
  125.     tinyscrn.ini - alternative chessbd.ini for small monitors
  126.         smaller pieces based on design by Eric Churchill
  127.     bigscrn.ini - alternative chessbd.ini for big monitors
  128.         larger pieces based on design from Nico Koolsbergen
  129.     ex_ics.rc - sample ics login script - doc
  130.     dial_ics.rc - sample ics login script for direct modem
  131.         connection - doc
  132.     readme.txt - this file - doc
  133.     qanda.txt - questions and answers - doc
  134.     demofile.txt - sample games file - doc
  135.  
  136. About chessbd.ini :
  137. You can edit the windows initialization file chessbd.ini (using an external
  138. text editor of your choice) to alter the appearance or operation of CHESSBD.
  139. Or you can use the program's Options dialog.  You do not need to have a
  140. chessbd.ini file: the program will default to reasonable values in its
  141. absence.
  142.  
  143. About other .ini files :
  144. If you want to try one of the alternative .ini files, you can either edit
  145. chessbd.ini to add the assignments from the other files, -or- you can add
  146. the other file to the command line when you invoke it from the program
  147. manager.  (Eg, "chessbd nicok.ini" will read in nicok.ini after the normal
  148. chessbd.ini file.)  You can specify multiple .ini files if you wish.  They
  149. will be processed from left to right.  The values in the rightmost (last)
  150. file will take precedence in case of a conflict.  CHESSBD treats these
  151. files as read-only: thus if you change and save variables at run-time using
  152. the options dialog, the changes will be saved to chessbd.ini , NOT to these
  153. additional .ini files.  This may or may not be what you want.
  154.  
  155. About _chessbd.rc :
  156. The script file _chessbd.rc is read upon program startup.  You can edit the
  157. file (using an external text editor of your choice) and add script commands
  158. to customize the program according to your taste.  See the "Script Commands"
  159. "Option Variables" topics.  You do not need to have a _chessbd.rc file.
  160.  
  161. 7. HISTORY
  162. History of changes to CHESSBD.
  163. ----- feb 94
  164. first release as CHESSBD 1.0 .
  165.  
  166. ----- mar 94
  167. bug fix - vertical bar
  168.     garbage '|' char caused crash because it looks like a variation
  169. bug fix - board update
  170.     board display not updated properly if user drags a piece w/ mouse,
  171.     then drops it back on its starting location,
  172.     then decides to drag another piece.
  173. bug fix - weak header, punct moves
  174.     improper rejection of weak headers containing number comma,
  175.     because it looked like a move.
  176. bug fix - W: B: header
  177.     improper rejection of W: B: headers when W: and B: on same line
  178. enhancement - scrollbar
  179.     added thumb tracking to move scrollbar
  180. cosmetic - colors
  181.     changed default colors to be more pastelish
  182. ----- jun 94
  183. bug fix - W: B: header
  184.     workaround for borland varargs bug
  185. enhancement - FEN
  186.     recognize PGN's FEN/Setup tags
  187. enhancement - SAN
  188.     add shortened algebraic (SAN) option (%set sanout=1)
  189. enhancement - HH:MM time notations
  190.     recognize, treat as comments
  191. enhancement - $NAGs
  192.     recognize them, treat as comments.
  193. ----- jul 94
  194. enhancement - wrapcol
  195.     auto line wrap in the text window (almost working)
  196. ----- aug 94
  197. bug fix - easyvar mainline bug
  198.     under some circumstances, the main line would be taken as a
  199.     variation after an easy variation!
  200. bug fix - navigate dialog
  201.     disable bc++ 4.0 OK/CANCEL misfeature
  202. enhancement - rearrange controls
  203.     make game selection part of navigate dialog
  204. enhancement - improved game selection dialog
  205.     listbox now scrolls horizontally; cancel+ok buttons
  206.     disable +G and -G as appropriate
  207. enhancement - options dialog
  208.     set options thru dialog
  209. enhancement - ini file
  210.     options be saved to ini file, thru options dialog
  211. bug fix - real comment within implicit comment
  212.     if a multi-line real {} comment occurred within an implicit
  213.     comment, the program would not recover to the main line afterwards.
  214. ----- sep 94
  215. bug fix - memory allocation
  216.     improperly freed mem could have caused corruption
  217. enhancement - open file
  218.     can now "run" a file while another file is "open"
  219.     can now "open" a file from with a "run" file
  220.     (but not %open from within %open, or run from within %open)
  221. enhancement - scan file
  222.     open cmd now adds files to game list without clearing it
  223.     close clears the game list
  224. enhancement - drag & drop moves
  225.     flicker-free piece dragging; target square indicator
  226. ----- oct 94
  227. bug fix - move scrollbar
  228.     move scrollbar is now properly updated when adding moves
  229.     via drag & drop
  230. change - ini vars
  231.     got rid of separate "ini" table; ini vars are now just regular
  232.     vars with a flag
  233. enhancement - piece motion
  234.     simple chess moves can now be animated
  235. change - cmds
  236.     cmd routines now "void" not "int"
  237. change - graphics change
  238.     added "grchange" method to textport, nav dialog, etc
  239. enhancement - index
  240.     added index file feature
  241. uploaded to caissa.onenet.net!
  242. ----- nov 94
  243. enhancement - for >1000 games
  244.     implement ownerdraw listbox for selection
  245. enhancement - accelerators
  246.     added accelerator stuff
  247. bug fix - esc in setup dialog
  248. enhancement - file dialogs
  249.     now have memory of cur dir
  250. change - help
  251.     clean up help file options section
  252. enhancement - material update flag
  253.     display material balance in to-move string
  254. enhancement - saveall
  255.     command to save all games
  256. enhancement - score line len
  257.     when writing score, put multiple moves on same line
  258.     - upto outlinelen
  259. change - speedup
  260.     faster check testing
  261. change - cleanup
  262.     muck with header files
  263. opt bug - in eng.c -O2 or -Ov seem to trigger (eng_extreme())
  264.     workaround to defeat faulty optimization
  265. enhancement - piecechars
  266.     now can set to different letters...
  267. change - bit fields
  268.     use IPCLASS uniformly
  269.     reorder bit fields in IDLOC
  270.     reduce r & c bitfield sizes in IDLOC, to 3 bits!
  271. bug fix - repaint after dialog
  272.     add UpdateWindow() calls to eliminate "flash effects" after dialog.
  273. bug fix - non-dos text files
  274.     read input in binary mode
  275.     (borland iostream messes up if reading a UNIX text file
  276.     w/o '\r's in text mode)
  277. change - rename mainx.h routines for consistency
  278. change - cleanup naming of event stuff
  279. enhancement - search feature
  280.     search in select game dialog
  281. change - use library for non-windows objects
  282. enhancement - edit game
  283.     dialog to edit current game
  284. ----- jan 95
  285. enhancement - add ics stuff
  286. change - redesign chesswin --> msgbdwin
  287.     put msgs in subclass of bdwin
  288.     rearrange grchange stuff
  289.     rearrange initialization stuff
  290. enhancement - ics cmds
  291.     %icsinput %icsoutput etc
  292. enhancement - %cecho cmd
  293.  
  294. enhancement - fixed output-over-input problem
  295.  
  296. enhancement - textport
  297.     noecho mode, beep on \7
  298.     change to unix-like tty processing
  299. enhancement - added sysmenu to most dialogs
  300.     add "ics arena match" dialog
  301. cleanup -
  302.     eliminate obsolete MakeWindow() calls
  303.     improve modularity
  304. bug fix - filtering overrun problem corrected
  305. change - disable viewer stuff in ics mode
  306. enhancement - resizable chatwin
  307.     - save ics window layout
  308. ----- feb95
  309. bug fixes
  310.     who dropping lines
  311. changes to match dialog
  312. change - move strings to text segment
  313. enhancement - resizable arenawin
  314. bug fix - ICS info dialog
  315. ----- mar95
  316. enhancement - automatically add people to chat combobox
  317. enhancement - make icsrawout work
  318. change - for FICS compatibility
  319. change - tweak dialog sizes
  320. version h
  321. bug fix - FICS match command
  322. enhancement - dialing dir
  323. enhancement - querylogout
  324. change - rename and renumber all ID's !
  325. ----- apr 95
  326. enhancement - capture dialog
  327. change - make various ICS buttons expand to internal commands
  328.     instead of ICS commands - for generality
  329. change - get rid of "EDITLINE" class
  330. bug fix - add "." and "..." after move numbers in icsgames.pgn
  331. enhancement - adding direct modem support
  332. enhancement - user programmable menu
  333. change - use checkmenuitem instead of changing the item name
  334. enhancement - board scaling, mainwindow scaling
  335. version i
  336.