[ShaneHudson] found how to store chess moves using only one byte, i.e. 8-bits. Representing 64 squares requires 6-bits (2^6 = 64), so in order to store a move (from square to square) you need 6 + 6 = 12-bits. Add 1-bit for promotion and you are at 13-bits.
Chess players usually like puzzles: try to find out how to store chess moves using only 8-bits!
No, at least for a while.
An optimal implementation of Chess960 requires an important revision of the SCID's core functionalities, e.g. the move generator, the GUI board, etc. The castling rules of Chess960's castling rules are programming challenges. If you're up to the task, please [ContactUs].
Implementing Chess960 would also require a revision of SCID format. This not impossible to do, but not trivial either. The new format would need to be robust enough to serve the [ScidCommunity] for a good while.
If you want a tool to manage your Chess960 games, try Scidb.
Scid has a limit of 16.7 million (2^24) games per database.
The limit of 24 bit cannot be exceeded, because the index header
is storing the number of games with 24 bit. Two numbers are
reserved (0 and last), this means the maximal number of games
is in fact 2^24 - 2 (= 16.777.214).
It's not impossible, but it won't be easy.
Not that it's technically difficult, but it will make scid incompatible with older version.
The code already uses a 32bit uint as gameNumberT.
Here's src/index.h:
const gameNumberT MAX_GAMES = 16777214;
// max. number of games is 2^(38)-1-1,
// The "2^(38)-1" as si4 only uses three bytes to store this integer,
From the comment it seems that the three byte is a limit introduced
with the 4th database version of Scid.
The limit is enforced in Index::WriteHeader():
FilePtr->WriteThreeBytes (Header.numGames);
Not that we know of.
Toying with so huge database makes little sense.
Why not?
If you decide to tinker with the code, please report back your conclusions to the [MailingList].
hello, I opened a base in pgn format of games with no moves (only, names of players, elo, tournament...). I tried to complete this games, playing moves. I registered in replacing games in the file, ( I believe it). In fact, the moves were not registered, the games were not modified and I lost 3 hours of work. What did I made wrong ?
thanks
Hello,
You can't edit PGN files in a permanent way:
https://sourceforge.net/p/scid/wiki/AboutScidBases/#can-i-edit-pgn-files
Your only way out is to copy the modified game to a SCID database.
Sorry for your loss.