FIXELO 0.1 (32-bit version) Copyright Rob Weir, 1995 CompuServe: 71165,2722 Internet: rweir@cybercom.net This program is free for personal use. FIXELO is a WIN32 program, so you must be running Windows 95 or NT to use it! ======================================================================= 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: FIXELO.TXT the file you are reading FIXELO.EXE the FIXELO program FIXELO.DAT the data file for FIXELO You also need to download MSVCRT40.DLL and put it in your \Windows\System directory ======================================================================= Try this experiment in ChessBase. Take a medium to large database of recent games and do a search for all players with ratings of over 2700. You'll see some familiar names, Kasparov, Karpov, etc., but also, mixed in with the Super Grandmasters, you will see some totally unfamiliar names. Almost of these players will be amateurs. What is going on here? Well, the first thing to realize is that the ChessBase file format does not allow arbitrary ratings to be stored. One limitation is that all ratings are stored in increments of 5 points. Also, the minimum rating allowed is 1600. Because only one byte is allocated for the rating, this provides a range of 1600 to 2875. The formulas used are: rating = 1600 + 5 * elo_byte and in the other direction: elo_byte = (rating-1600)/5 Now, the problem occurs with ratings less than 1600. Take for example, a rating of 1400: elo_byte = (1400-1600)/5 which results in: elo_byte = -40 However, this negative number is stored as an unsigned number, so when it is read back, it is a very large positive number, according to the standard rules of integer underflow. The end result, is that Joe Fish ends up with a rating higher than Kasparov! So, 1555 -> 2875, 1550 -> 2870, 1445 -> 2865, etc. This low ratings are not a problem with games entered in CBWIN 1.1, which will not allow you to enter them, but earlier versions, CB4 DOS, for example, and some PGN conversion programs don't check for this. These false ratings can lead to all sorts of misleading interpretations with game statistics. FIXELO 0.1 was designed to go in and remove these false ratings. As input it takes a data file, called FIXELO.DAT and one or more ChessBase databases. The FIXELO.DAT files contains a list of high rated players along with a rating limit (must be on the the first line). It is assumed that all players with ratings greater than this limit are listed in the file. The sample file includes all players rated greater than 2650. FIXELO scans each game in the ChessBase databases and removes the ratings for players with ratings higher than the limit who are not in FIXELO.DAT. FIXELO is easy to run. You just pass in the name of a ChessBase file as an argument and let it run. For example, FIXELO MAINBASE.CBF or FIXELO C:\CBDATA\*.CBF Also, if you want to take a "practice" run which will doesn't write back changes, but otherwise shows you what would happen, add the "-practice" flag as in: FIXELO -practice C:\CBDATA\*.CBF =======================================================================