CBCHKSUM 0.2 Copyright Rob Weir, 1994-96 CompuServe: 71165,2722 Internet: rweir@cybercom.net This program is free for personal use. ======================================================================= WARNING: This program modifies ChessBase data files, something quite difficult, and quite undocumented. This program seems to work for me, but don't you think it would be better if you made a backup of your BIG ChessBase database before using me?! ======================================================================= Files you now have: CBCHKSUM.TXT the file you are reading CBCHKSUM.EXE the CBCHKSUM program ======================================================================= New in version 0.2 32-bit This 32-bit version should be functionally identical to the previous 16-bit release. What I have done is rewrite much of the file access and sorting routines to take advantage of the capabilities of WIN32, using virtual memory, memory-mapped files, etc. Also, I've added a "-p" "practice mode" flag. If you run like this: CBCHKSUM -practice mainbase.cbf then CBCHKSUM will not fix games in the database, but will instead give a list of what games it would have fixed. Also, in this new version, CBCHKSUM modifies your original file rather than writing out a new one, so be sure to backup your data first! ======================================================================= The program CBCHKSUM takes a ChessBase data file and repairs game headers which have an incorrect byte 13 in the header, the so-called checksum byte. Why would you want a program like this? I find it useful for several things: If you run a program, like Andy Duplain's CBCHECK, on a ChessBase data file you might get messages that say "checksum error". This error could mean two different things, depending on where your data originated. Try this experiment: Open the the database in ChessBase, retrieve the appropriate game and re-save it. Then re-run CBCHECK. If the error is gone, then you most likely had a corrupted game, and have fixed it. However, with some CB games (like Informant games) this solution doesn't work. These games are coded to only work with a special ID key. Because of this copy protection, some legitimate uses of the data are prevented, such as modifying the games with non-ChessBase products such as my CBNORMAL, CBSTRIP, etc. The offending games cannot be retrieved and generate "Alien Data" errors in ChessBase. CBCHKSUM was designed to change these copy-protected games into regular CB games, fixing the "Alien Data" problem. ======================================================================= WARNING!!!!! Besides serving as a form of copy-protection, by preventing users from tampering with CB data, checksums also detect accidental modifications of files due to file corruption caused by disk problems, bad file transfers, etc. When you run CBCHKSUM, you are overriding this protection. Any real corruption that might already be in the data might be made harder to detect. So, don't automatically run CBCHKSUM against all your databases. Use it only in cases where the data seems O.K. (it retrieves without problems in ChessBase, Fritz, etc.) but you get checksum or Alien Data Errors. Using this program indiscriminantly would be like taking Penicillin when you are not sick -- it would reduce your immunity for when you are sick. ======================================================================= CBCHKSUM is easy to run. You just pass in the name of a ChessBase file as an argument and let it run. For example, if you have a ChessBase file of World Championship games called WCH.CBI and WCH.CBF, you run CBCHKSUM like this: CBCHKSUM WCH.CBF If you just want to check for errors, but not fix them you can run in "Practice Mode" like this: CBCHKSUM -practice mainbase.cbf =======================================================================