home *** CD-ROM | disk | FTP | other *** search
/ Die ASC Mega 2 / ASC-Mega2-CD-ROM.iso / SPIELE / SCHACH / SCHACH1 / README.TXT < prev    next >
Encoding:
Text File  |  1995-08-01  |  14.3 KB  |  391 lines

  1. -------
  2. CHESSBD
  3. -------
  4. (c) 1994, 1995 by Don Fong (dfong@igc.apc.org)
  5. Updated august 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.1a NEW IN CHESSBD 2.1
  51.  
  52. Features added since release SLICS 2.0i :
  53. * Can function as a NETSCAPE helper.
  54. * Autoflag and Autoqueen options.
  55. * ICS mode no longer disables the viewer functions.
  56. * Can paste text from the Windows clipboard into the viewer textport.
  57. * Redesign of dialogs, use of "mini" dialogs.
  58. * Can pop up multiple "scratch" boards for analysis (Alt-V).
  59. * Improved TtyMode dialog makes it easier to negotiate firewalls.
  60. * Server profiles added to ICS menu for faster login.
  61. * Cool new pieces by Harry Toups (toups.ini).
  62.  
  63. 2.1b NEW IN CHESSBD 2.0
  64.  
  65. Features added since first release as CHESSBD 1.0 :
  66. * ICS interface capability
  67. * Bug fixes (see section 7).
  68. * SAN compatible output.
  69. * Supports PGN [Setup "..."] tag.
  70. * Partial support for USCF standard headers
  71. * Improved dialogs for navigation and game selection.
  72. * Textport wraps long lines (%set wrapcol=NNN).
  73. * Create index files for faster reloading of large files.
  74. * Fairly complete options dialog.
  75. * Windows help file.
  76.  
  77. 3. BUGS AND MISFEATURES
  78.  
  79. * Makes NO attempt to fix incorrect input moves (eg by capitalization)
  80.   or guess ambiguous moves.
  81. * Windows 3.1 only; will NOT run under 3.0 .
  82. * Inefficient, may run slow.
  83. * Uses Borland C++ 4.0 and OWL 2.0, therefore it exhibits the associated
  84.   peculiarities and glitches.
  85. * OPTIONS dialog is weak and needs more work.
  86. * HELP file is weak and needs more work.
  87. * See also the section "Implicit Header Recognition Failures"
  88.   in the "Parser Heuristics" help topic.
  89. * ICS functions are still somewhat immature.
  90.  
  91. 4. ORDERING INFORMATION
  92.  
  93. CHESSBD is shareware.  If you find this program useful,
  94. please send a contribution of $5.00 or more to:
  95.     Don Fong/227 Alta Ave/Santa Cruz, CA 95060 USA
  96. Thanks to everyone who sent $$ for CHESSBD 1.0 !
  97.  
  98. Send bug reports and suggestions to:
  99.     dfong@igc.apc.org
  100.  
  101. Thanks.
  102.  
  103. 5. ACKNOWLEDGEMENTS
  104.  
  105. Thanks to Keith Fuller (PGNRD) who gave me advice on windowization,
  106. and to Daryl K. Baker whose windows port of GNUCHESS contained many
  107. instructive examples of how do do things.
  108.  
  109. 6. INSTALLATION
  110.  
  111.  CHESSBD is a windows program; install it as you would any windows
  112. program.  Decide what directory you want to put it in, and make that
  113. the startup directory for the program when creating the program item.
  114. Move the files chessbd.exe, chessbd.ini, chessbd.hlp, _chessbd.rc,
  115. and icsprofs.dat files into the same directory.  If you are going to
  116. use custom .ini files --- for example, setting up your user-programmable
  117. buttons or menu items (see "About other .ini files" below) --- then
  118. put these files in the same directory too.  See the online help for
  119. more info.
  120.  
  121. You will probably want to edit the example ex_ics.rc script (and then
  122. rename it to be _ics.rc) to have your correct ICS login name and password,
  123. so the program can log you in automatically.  You will probably want to
  124. edit the icsprofs.dat dialing directory to have your correct login name on
  125. the different servers, so the program can help you switch between servers
  126. easily.  See the online help for more info.
  127.  
  128. 6.1. INVENTORY
  129.     chessbd.exe - the executable - required
  130.     chessbd.hlp - winhelp file - required
  131.     chessbd.ini - initialization - recommended
  132.     _chessbd.rc - program startup script - optional
  133.     icsprofs.dat - dialing directory - recommended
  134.     dfong.ini - default "minimalist" pieces - doc
  135.     nicok.ini - alternative "baroque" pieces by nicok@IAEhv.nl
  136.         (Nico Koolsbergen) - doc
  137.     ericch.ini - alternative "staunton" pieces by ericch@microsoft.com
  138.         (Eric Churchill) - doc
  139.     toups.ini - alternative "classic" pieces by Harry Toups - doc
  140.     tinyscrn.ini - additional chessbd.ini for small monitors
  141.     bigscrn.ini - additional chessbd.ini for big monitors.
  142.     ex_ics.rc - sample ics login script - doc
  143.     dial_ics.rc - sample ics login script for direct modem
  144.         connection - doc
  145.     readme.txt - this file - doc
  146.     qanda.txt - questions and answers - doc
  147.     demofile.txt - sample games file - doc
  148.  
  149. About chessbd.ini :
  150. You can edit the windows initialization file chessbd.ini (using an external
  151. text editor of your choice) to alter the appearance or operation of CHESSBD.
  152. Or you can use the program's Options dialog.  You do not need to have a
  153. chessbd.ini file: the program will default to reasonable values in its
  154. absence.
  155.  
  156. About other .ini files :
  157. If you want to try one of the extra .ini files, you can either edit
  158. chessbd.ini to add the assignments from the other files, -or- you can add
  159. the other file to the command line when you invoke it from the program
  160. manager.  (Eg, "chessbd nicok.ini" will read in nicok.ini after the normal
  161. chessbd.ini file.)  You can specify multiple .ini files if you wish.  They
  162. will be processed from left to right.  The values in the rightmost (last)
  163. file will take precedence in case of a conflict.  (Eg, the command
  164. "chessbd nicok.ini bigscrn.ini" uses the alternative pieces and the
  165. big-screen layout.)  CHESSBD treats these ini files as read-only: thus if
  166. you change and save variables at run-time using the options dialog, the
  167. changes will be saved to chessbd.ini , NOT to these additional .ini files.
  168. This may or may not be what you want.
  169.  
  170. About _chessbd.rc :
  171. The script file _chessbd.rc is read upon program startup.  You can edit the
  172. file (using an external text editor of your choice) and add script commands
  173. to customize the program according to your taste.  See the "Script Commands"
  174. "Option Variables" topics.  You do not need to have a _chessbd.rc file.
  175.  
  176. 7. HISTORY
  177. History of changes to CHESSBD.
  178. ----- feb 94
  179. first release as CHESSBD 1.0 .
  180.  
  181. ----- mar 94
  182. bug fix - vertical bar
  183.     garbage '|' char caused crash because it looks like a variation
  184. bug fix - board update
  185.     board display not updated properly if user drags a piece w/ mouse,
  186.     then drops it back on its starting location,
  187.     then decides to drag another piece.
  188. bug fix - weak header, punct moves
  189.     improper rejection of weak headers containing number comma,
  190.     because it looked like a move.
  191. bug fix - W: B: header
  192.     improper rejection of W: B: headers when W: and B: on same line
  193. enhancement - scrollbar
  194.     added thumb tracking to move scrollbar
  195. cosmetic - colors
  196.     changed default colors to be more pastelish
  197. ----- jun 94
  198. bug fix - W: B: header
  199.     workaround for borland varargs bug
  200. enhancement - FEN
  201.     recognize PGN's FEN/Setup tags
  202. enhancement - SAN
  203.     add shortened algebraic (SAN) option (%set sanout=1)
  204. enhancement - HH:MM time notations
  205.     recognize, treat as comments
  206. enhancement - $NAGs
  207.     recognize them, treat as comments.
  208. ----- jul 94
  209. enhancement - wrapcol
  210.     auto line wrap in the text window (almost working)
  211. ----- aug 94
  212. bug fix - easyvar mainline bug
  213.     under some circumstances, the main line would be taken as a
  214.     variation after an easy variation!
  215. bug fix - navigate dialog
  216.     disable bc++ 4.0 OK/CANCEL misfeature
  217. enhancement - rearrange controls
  218.     make game selection part of navigate dialog
  219. enhancement - improved game selection dialog
  220.     listbox now scrolls horizontally; cancel+ok buttons
  221.     disable +G and -G as appropriate
  222. enhancement - options dialog
  223.     set options thru dialog
  224. enhancement - ini file
  225.     options be saved to ini file, thru options dialog
  226. bug fix - real comment within implicit comment
  227.     if a multi-line real {} comment occurred within an implicit
  228.     comment, the program would not recover to the main line afterwards.
  229. ----- sep 94
  230. bug fix - memory allocation
  231.     improperly freed mem could have caused corruption
  232. enhancement - open file
  233.     can now "run" a file while another file is "open"
  234.     can now "open" a file from with a "run" file
  235.     (but not %open from within %open, or run from within %open)
  236. enhancement - scan file
  237.     open cmd now adds files to game list without clearing it
  238.     close clears the game list
  239. enhancement - drag & drop moves
  240.     flicker-free piece dragging; target square indicator
  241. ----- oct 94
  242. bug fix - move scrollbar
  243.     move scrollbar is now properly updated when adding moves
  244.     via drag & drop
  245. change - ini vars
  246.     got rid of separate "ini" table; ini vars are now just regular
  247.     vars with a flag
  248. enhancement - piece motion
  249.     simple chess moves can now be animated
  250. change - cmds
  251.     cmd routines now "void" not "int"
  252. change - graphics change
  253.     added "grchange" method to textport, nav dialog, etc
  254. enhancement - index
  255.     added index file feature
  256. uploaded to caissa.onenet.net!
  257. ----- nov 94
  258. enhancement - for >1000 games
  259.     implement ownerdraw listbox for selection
  260. enhancement - accelerators
  261.     added accelerator stuff
  262. bug fix - esc in setup dialog
  263. enhancement - file dialogs
  264.     now have memory of cur dir
  265. change - help
  266.     clean up help file options section
  267. enhancement - material update flag
  268.     display material balance in to-move string
  269. enhancement - saveall
  270.     command to save all games
  271. enhancement - score line len
  272.     when writing score, put multiple moves on same line
  273.     - upto outlinelen
  274. change - speedup
  275.     faster check testing
  276. change - cleanup
  277.     muck with header files
  278. opt bug - in eng.c -O2 or -Ov seem to trigger (eng_extreme())
  279.     workaround to defeat faulty optimization
  280. enhancement - piecechars
  281.     now can set to different letters...
  282. change - bit fields
  283.     use IPCLASS uniformly
  284.     reorder bit fields in IDLOC
  285.     reduce r & c bitfield sizes in IDLOC, to 3 bits!
  286. bug fix - repaint after dialog
  287.     add UpdateWindow() calls to eliminate "flash effects" after dialog.
  288. bug fix - non-dos text files
  289.     read input in binary mode
  290.     (borland iostream messes up if reading a UNIX text file
  291.     w/o '\r's in text mode)
  292. change - rename mainx.h routines for consistency
  293. change - cleanup naming of event stuff
  294. enhancement - search feature
  295.     search in select game dialog
  296. change - use library for non-windows objects
  297. enhancement - edit game
  298.     dialog to edit current game
  299. ----- jan 95
  300. enhancement - add ics stuff
  301. change - redesign chesswin --> msgbdwin
  302.     put msgs in subclass of bdwin
  303.     rearrange grchange stuff
  304.     rearrange initialization stuff
  305. enhancement - ics cmds
  306.     %icsinput %icsoutput etc
  307. enhancement - %cecho cmd
  308.  
  309. enhancement - fixed output-over-input problem
  310.  
  311. enhancement - textport
  312.     noecho mode, beep on \7
  313.     change to unix-like tty processing
  314. enhancement - added sysmenu to most dialogs
  315.     add "ics arena match" dialog
  316. cleanup -
  317.     eliminate obsolete MakeWindow() calls
  318.     improve modularity
  319. bug fix - filtering overrun problem corrected
  320. change - disable viewer stuff in ics mode
  321. enhancement - resizable chatwin
  322.     - save ics window layout
  323. ----- feb95
  324. bug fixes
  325.     who dropping lines
  326. changes to match dialog
  327. change - move strings to text segment
  328. enhancement - resizable arenawin
  329. bug fix - ICS info dialog
  330. ----- mar95
  331. enhancement - automatically add people to chat combobox
  332. enhancement - make icsrawout work
  333. change - for FICS compatibility
  334. change - tweak dialog sizes
  335. version h
  336. bug fix - FICS match command
  337. enhancement - dialing dir
  338. enhancement - querylogout
  339. change - rename and renumber all ID's !
  340. ----- apr 95
  341. enhancement - capture dialog
  342. change - make various ICS buttons expand to internal commands
  343.     instead of ICS commands - for generality
  344. change - get rid of "EDITLINE" class
  345. bug fix - add "." and "..." after move numbers in icsgames.pgn
  346. enhancement - adding direct modem support
  347. enhancement - user programmable menu
  348. change - use checkmenuitem instead of changing the item name
  349. enhancement - board scaling, mainwindow scaling
  350. version i
  351.  
  352. change - gross.c, modified to handle periods at end of name.
  353. change - board window menu
  354. change - reorganize nav data structures for per-board menu changes
  355. change - eliminated "botside" variable - overhaul botside handling
  356. ----- may 95
  357. slics20ipatch
  358. bug fix - "..." on first move in icsgames.pgn !
  359. enhancement - alert messages instead of caption change
  360. bug fix - killtimer should now work better
  361. enhancement - rudimentary paste feature
  362. bug fix - "unexamine" examined games when close exam window
  363. bug fix - update tree display after moused move
  364. ----- jun95
  365. enhancement - netscape iface - FPATH used in ini_readin()
  366. enhancement - warn about bad style messages from ICS
  367. bug fix - save infoconnect vars
  368. change - explicit loading of winsock.dll
  369. enhancement - add a user menu to main board window
  370. change - make Option and ICS sub-menus - eliminate "skip this dialog".
  371. enhancement - "undo" removes move from tree
  372. change - use EnableCommNotification() etc
  373. enhancement - allow "pre-dragging" of piece while board update occurs
  374. enhancement - UX and ICS buttons in ttymode window
  375. ----- jul95
  376. change - new "2.1" ics layout with mini dialogs
  377. many bug fixes
  378. enhancement - all ttyedit's now support color & font
  379. change - derive chesswin from msgbdwin instead of tframewindow
  380. bug fix - added x=0 to CondDel macro!
  381. change - constructors take RECT as arg
  382. enhancement - bitmap support
  383. enhancement - autoqueen
  384. enhancement - autoflag
  385. experiment with eliminating redundant deletes
  386. ----- aug 95
  387. update documentation
  388. enhancement - improved beep and prompt suppression
  389. release as 2.1a
  390. bitmap support temporarily removed
  391.