Scid is a popular free chess database program. It stores games in it's own binary format. Whereas Scid is open source, there is no single clear file format specification, and one has to resort to deep study of it's C++ source code to understand the format. This document attempts to provide a technical specification of the format in order to facilitate the implementation of the format by programs other than direct forks of the SCID source base.
An SCID database consists of three mandatory files:
- An Index File (.si4) containing meta-information for each game
- A file containing the actual game data (.sg4)
- A file containing player names, tournament names and other textual information (.sn4)
The Index File contains a description for the database and a small fixed-size entry for each game. Each game entry includes essential information such as the result, date, player/event/site name IDs (the actual names are in the Name File), and some redundant but useful information that is used to speed up searches
The Index file consists of a header 182 bytes long, followed by one 47 byte index record for each stored game.
Consecutive bytes are big endian unless otherwise stated
Name | Offset (Bytes) | Length (Bytes) | Data Type | Description |
---|---|---|---|---|
Magic Header | 0x00 | 8 | string | 8-byte identifier for Scid index files. 53 63 69 64 2E 73 69 00 in Hex i.e. Scid.si\NUL in ASCII |
Version Number | 0x08 | 2 | Uint | Scid version number that wrote the file. 400 for si4. |
Database Type | 0x0A | 4 | uint | A byte sequence that describes the type of the database, e.g. tournament, theory, etc. |
Number of Games | 0x0E | 3 | uint | Number of games stored in the database. |
Auto Load Game | 0x11 | 3 | uint | Game number to autoload: 0=none, 1=1st, >numGames=last |
Description | 0x14 | 108 | string | A fixed-length null-terminated string describing the database |
Custom Flags | 0x80 | 54 | custom | There are six custom flag entries. Each entry is a nine byte null-terminated ASCII string. Within each entry, any byte following a zero byte must be ignored. |
Total Length of Header: 182 bytes
The index file contains one entry per game in the database. It contains more than just the location of the game data in the main data file. For fast searching, it also store some other important values: players, event, site, date, result, eco, game length. Each entry takes up 47 bytes on-disk in version 4, and 46 bytes in some older versions.
Name | Length (Bytes) | Data Type | Description |
---|---|---|---|
Offset | 4 | uint | Location of entry starting byte in the GameBase |
Length Low | 2 | custom | Two least significant bytes (Big Endian) of the entry length in the GameBase |
Length High | 1 | custom | Most significant bit of the entry length in the GameBase and user-defined flags. On Scid versions < 4 this value did not exist, so should be skipped if trying to read an older version file. |
Flags | 2 | custom | Custom Index Flags (see below). |
White/Black High | 1 | custom | Most significant bits of the White and Black Player IDs in the NameBase. |
White ID Low | 2 | custom | Two least significant bytes of the White Player ID in the NameBase. |
Black ID Low | 2 | custom | Two least significant bytes of the Black Player ID in the NameBase. |
Event/Site/Round High | 1 | custom | Most significant bits of Event, Site, and Round IDs in the NameBase. |
Event ID Low | 2 | custom | Least significant bytes of the Event ID in the NameBase. |
Site ID Low | 2 | custom | Least significant bytes of the Site ID in the NameBase. |
Round ID Low | 2 | custom | Least significant bytes of the Round ID in the NameBase. |
Result/Variation Counts | 2 | custom | Counters for comments, variations, etc. Also stores the result of the Game. |
ECO Code | 2 | custom | Encyclopedia of Chess Openings Code for the game. |
Dates | 4 | custom | The date of the Game and date of the Event. |
White Elo | 2 | uint | Elo rating of the White Player, limited to 4000 since Elo ratings are stored interally in 12 bits. |
Black Elo | 2 | uint | Elo rating of the Black Player, limited to 4000 since Elo ratings are stored interally in 12 bits. |
Stored Line Code | 1 | custom | Index of the opening line played in the Game stored in a lookup table. Used for searching. |
Final Material | 3 | custom | Material of the final position in the game. |
Number of Plies Low | 1 | uint | Least signficant byte of the number of plies (half moves) played in the Game. |
Number of Plies High / Home Pawn Data | 9 | custom | Most significant bits of number of plies and Home Pawn Data. |
Total Length of Index Entry: 47 bytes
Bit | 7 | 6 | 5-0 |
---|---|---|---|
Name | Length High Bit | Unused | User-defined Flags |
Bit | 15 | 14-0 |
---|---|---|
Name | Length High Bit | Length Low |
Bit | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Name | User Defined | Blunder | Brilliancy | Queenside Play | Kingside Play | Tactics | Pawn Structure | Novelty | Endgame | Middlegame | Black Opening | White Opening | Marked for Deletion | Underpromotion(s) | Promotion(s) | Has Custom Starting Position |
Bit | 7-4 | 3-0 |
---|---|---|
Name | White ID High | Black ID High |
Bit | 19-16 | 15-0 |
---|---|---|
Name | White ID High | White ID Low |
Bit | 19-16 | 15-0 |
---|---|---|
Name | Black ID High | Black ID Low |
Bit | 7-5 | 4-2 | 1-0 |
---|---|---|---|
Name | Event ID High | Site ID High | Round ID High |
Bit | 18-16 | 15-0 |
---|---|---|
Name | Event ID High | Event ID Low |
Bit | 18-16 | 15-0 |
---|---|---|
Name | Site ID High | Site ID Low |
Bit | 17-16 | 15-0 |
---|---|---|
Name | Round ID High | Round ID Low |
Bit | 15-12 | 11-0 |
---|---|---|
Name | Result | Variation Counts |
Bit | 3-2 | 1 | 0 |
---|---|---|---|
Name | Unused | Black | White |
Result | Score | Description |
---|---|---|
0x00 | * | None |
0x01 | 1-0 | White Wins |
0x02 | 0-1 | Black Wins |
0x03 | 1/2-1/2 | Draw |
Variation Counts stores three values: Variations, Comments, and NAGs (Numeric Annotation Glyphs).
Bit | 11-8 | 7-4 | 3-0 |
---|---|---|---|
Name | NAGs Code | Comments Code | Variations Code |
Code | Count Range | Reported Count |
---|---|---|
0-10 | Exact Value | Exact Value |
11 | 13-17 | 15 |
12 | 18-24 | 20 |
13 | 25-34 | 30 |
14 | 35-44 | 40 |
15 | >= 50 | 50+ |
ECO Code | String Value |
---|---|
0x0000 | None |
0x0001 | A00 |
0x0002 | A00a |
0x0003 | A00a1 |
0x0004 | A00a2 |
0x0005 | A00a3 |
0x0006 | A00a4 |
0x0007 | A00b |
0x0008 | A00b1 |
... | ... |
0x0083 | A00z4 |
0x0084 | A01 |
0x0085 | A01a |
0x0086 | A01a1 |
... | ... |
0x332C | A99z4 |
0x332D | B00 |
0x332E | B00a |
... | ... |
0xFFDC | E99z4 |
Note: Values 0xFFDD up to 0xFFFF are possible, but are not valid ECO Codes
Bit | 31-20 | 19-0 |
---|---|---|
Name | Event Date | Game Date |
Bit | 19-9 | 8-5 | 4-0 |
---|---|---|---|
Name | Game Year | Game Month | Game Day |
Bit | 11-9 | 8-5 | 4-0 |
---|---|---|---|
Name | Year Mod | Event Month | Event Day |
Bit | 31-29 | 28-25 | 24-20 | 19-9 | 8-5 | 4-0 |
---|---|---|---|---|---|---|
Name | Year Mod | Event Month | Event Day | Game Year | Game Month | Game Day |
If Year Mod == 0 then event date is unknown Else Event Year = Game Year + Year Mod - 4
Common values:
Year Mod | Description |
---|---|
0b000 | Undefined Event Date |
0b011 | Event date is in the year before the game |
0b100 | Event date is in the same year as the game |
0b101 | Event date is in the year after the game |
Stored Line Code | Moves | SAN |
---|---|---|
0x01 | 0x6000251, | 1.b3 |
0x02 | 0x600029a, | 1.c4 |
0x03 | 0x600029a, 0xe000ca2, | 1.c4 c5 |
0x04 | 0x600029a, 0xe000ca2, 0x5000195, | 1.c4 c5 2.Nf3 |
0x05 | 0x600029a, 0xe000d24, | 1.c4 e5 |
0x06 | 0x600029a, 0xe000d24, 0x5000052, | 1.c4 e5 2.Nc3 |
0x07 | 0x600029a, 0xe000d24, 0x5000052, 0xd000fad, | 1.c4 e5 2.Nc3 Nf6 |
0x08 | 0x600029a, 0xe000d2c, | 1.c4 e6 |
0x09 | 0x600029a, 0xe000d2c, 0x5000195, | 1.c4 e6 2.Nf3 |
0x0A | 0x600029a, 0xe000dae, | 1.c4 g6 |
0x0B | 0x600029a, 0xd000fad, | 1.c4 Nf6 |
0x0C | 0x600029a, 0xd000fad, 0x5000052, | 1.c4 Nf6 2.Nc3 |
0x0D | 0x600029a, 0xd000fad, 0x5000052, 0xe000d2c, | 1.c4 Nf6 2.Nc3 e6 |
0x0E | 0x600029a, 0xd000fad, 0x5000052, 0xe000dae, | 1.c4 Nf6 2.Nc3 g6 |
0x0F | 0x60002db, | 1.d4 |
0x10 | 0x60002db, 0xe000ce3, | 1.d4 d5 |
0x11 | 0x60002db, 0xe000ce3, 0x600029a, | 1.d4 d5 2.c4 |
0x12 | 0x60002db, 0xe000ce3, 0x600029a, 0xe000caa, | 1.d4 d5 2.c4 c6 |
0x13 | 0x60002db, 0xe000ce3, 0x600029a, 0xe000caa, 0x5000052, | 1.d4 d5 2.c4 c6 3.Nc3 |
0x14 | 0x60002db, 0xe000ce3, 0x600029a, 0xe000caa, 0x5000052, 0xd000fad, | 1.d4 d5 2.c4 c6 3.Nc3 Nf6 |
0x15 | 0x60002db, 0xe000ce3, 0x600029a, 0xe000caa, 0x5000052, 0xd000fad, 0x5000195, | 1.d4 d5 2.c4 c6 3.Nc3 Nf6 4.Nf3 |
0x16 | 0x60002db, 0xe000ce3, 0x600029a, 0xe000caa, 0x5000195, | 1.d4 d5 2.c4 c6 3.Nf3 |
0x17 | 0x60002db, 0xe000ce3, 0x600029a, 0xe000caa, 0x5000195, 0xd000fad, | 1.d4 d5 2.c4 c6 3.Nf3 Nf6 |
0x18 | 0x60002db, 0xe000ce3, 0x600029a, 0xe000caa, 0x5000195, 0xd000fad, 0x5000052, | 1.d4 d5 2.c4 c6 3.Nf3 Nf6 4.Nc3 |
0x19 | 0x60002db, 0xe000ce3, 0x600029a, 0xe000caa, 0x5000195, 0xd000fad, 0x5000052, 0xe000d2c, | 1.d4 d5 2.c4 c6 3.Nf3 Nf6 4.Nc3 e6 |
0x1A | 0x60002db, 0xe000ce3, 0x600029a, 0xec008da, | 1.d4 d5 2.c4 dxc4 |
0x1B | 0x60002db, 0xe000ce3, 0x600029a, 0xec008da, 0x5000195, | 1.d4 d5 2.c4 dxc4 3.Nf3 |
0x1C | 0x60002db, 0xe000ce3, 0x600029a, 0xec008da, 0x5000195, 0xd000fad, | 1.d4 d5 2.c4 dxc4 3.Nf3 Nf6 |
0x1D | 0x60002db, 0xe000ce3, 0x600029a, 0xe000d2c, | 1.d4 d5 2.c4 e6 |
0x1E | 0x60002db, 0xe000ce3, 0x600029a, 0xe000d2c, 0x5000052, | 1.d4 d5 2.c4 e6 3.Nc3 |
0x1F | 0x60002db, 0xe000ce3, 0x600029a, 0xe000d2c, 0x5000052, 0xe000caa, | 1.d4 d5 2.c4 e6 3.Nc3 c6 |
0x20 | 0x60002db, 0xe000ce3, 0x600029a, 0xe000d2c, 0x5000052, 0xd000fad, | 1.d4 d5 2.c4 e6 3.Nc3 Nf6 |
0x21 | 0x60002db, 0xe000ce3, 0x600029a, 0xe000d2c, 0x5000195, | 1.d4 d5 2.c4 e6 3.Nf3 |
0x22 | 0x60002db, 0xe000ce3, 0x5000195, | 1.d4 d5 2.Nf3 |
0x23 | 0x60002db, 0xe000ce3, 0x5000195, 0xd000fad, | 1.d4 d5 2.Nf3 Nf6 |
0x24 | 0x60002db, 0xe000ce3, 0x5000195, 0xd000fad, 0x600029a, | 1.d4 d5 2.Nf3 Nf6 3.c4 |
0x25 | 0x60002db, 0xe000ce3, 0x5000195, 0xd000fad, 0x600029a, 0xe000caa, | 1.d4 d5 2.Nf3 Nf6 3.c4 c6 |
0x26 | 0x60002db, 0xe000ce3, 0x5000195, 0xd000fad, 0x600029a, 0xe000d2c, | 1.d4 d5 2.Nf3 Nf6 3.c4 e6 |
0x27 | 0x60002db, 0xe000ceb, | 1.d4 d6 |
0x28 | 0x60002db, 0xe000ceb, 0x5000195, | 1.d4 d6 2.Nf3 |
0x29 | 0x60002db, 0xe000d2c, | 1.d4 e6 |
0x2A | 0x60002db, 0xe000d2c, 0x600029a, | 1.d4 e6 2.c4 |
0x2B | 0x60002db, 0xe000d2c, 0x600029a, 0xd000fad, | 1.d4 e6 2.c4 Nf6 |
0x2C | 0x60002db, 0xe000d65, | 1.d4 f5 |
0x2D | 0x60002db, 0xe000d65, 0x6000396, 0xd000fad, 0x400014e, | 1.d4 f5 2.g3 Nf6 3.Bg2 |
0x2E | 0x60002db, 0xe000dae, | 1.d4 g6 |
0x2F | 0x60002db, 0xe000dae, 0x600029a, 0xc000f76, | 1.d4 g6 2.c4 Bg7 |
0x30 | 0x60002db, 0xd000fad, | 1.d4 Nf6 |
0x31 | 0x60002db, 0xd000fad, 0x40000a6, | 1.d4 Nf6 2.Bg5 |
0x32 | 0x60002db, 0xd000fad, 0x40000a6, 0xd000b5c, | 1.d4 Nf6 2.Bg5 Ne4 |
0x33 | 0x60002db, 0xd000fad, 0x600029a, | 1.d4 Nf6 2.c4 |
0x34 | 0x60002db, 0xd000fad, 0x600029a, 0xe000ca2, | 1.d4 Nf6 2.c4 c5 |
0x35 | 0x60002db, 0xd000fad, 0x600029a, 0xe000ca2, 0x60006e3, | 1.d4 Nf6 2.c4 c5 3.d5 |
0x36 | 0x60002db, 0xd000fad, 0x600029a, 0xe000ca2, 0x60006e3, 0xe000c61, | 1.d4 Nf6 2.c4 c5 3.d5 b5 |
0x37 | 0x60002db, 0xd000fad, 0x600029a, 0xe000ca2, 0x60006e3, 0xe000c61, 0x6c006a1, 0xe000c28, | 1.d4 Nf6 2.c4 c5 3.d5 b5 4.cxb5 a6 |
0x38 | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x6000396, | 1.d4 Nf6 2.c4 e6 3.g3 |
0x39 | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x6000396, 0xe000ce3, | 1.d4 Nf6 2.c4 e6 3.g3 d5 |
0x3A | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x5000052, | 1.d4 Nf6 2.c4 e6 3.Nc3 |
0x3B | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x5000052, 0xc000f59, | 1.d4 Nf6 2.c4 e6 3.Nc3 Bb4 |
0x3C | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x5000052, 0xc000f59, 0x6000314, | 1.d4 Nf6 2.c4 e6 3.Nc3 Bb4 4.e3 |
0x3D | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x5000052, 0xc000f59, 0x6000314, 0x900cf3f, | 1.d4 Nf6 2.c4 e6 3.Nc3 Bb4 4.e3 O-O |
0x3E | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x5000052, 0xc000f59, 0x20000ca, | 1.d4 Nf6 2.c4 e6 3.Nc3 Bb4 4.Qc2 |
0x3F | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x5000052, 0xc000f59, 0x20000ca, 0x900cf3f, | 1.d4 Nf6 2.c4 e6 3.Nc3 Bb4 4.Qc2 O-O |
0x40 | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x5000052, 0xc000f59, 0x20000ca, 0x900cf3f, 0x6000210, 0x4ca00652, 0x2800292, | 1.d4 Nf6 2.c4 e6 3.Nc3 Bb4 4.Qc2 O-O 5.a3 Bxc3+ 6.Qxc3 |
0x41 | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x5000052, 0xe000ce3, | 1.d4 Nf6 2.c4 e6 3.Nc3 d5 |
0x42 | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x5000195, | 1.d4 Nf6 2.c4 e6 3.Nf3 |
0x43 | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x5000195, 0xe000c69, | 1.d4 Nf6 2.c4 e6 3.Nf3 b6 |
0x44 | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x5000195, 0xe000c69, 0x6000210, | 1.d4 Nf6 2.c4 e6 3.Nf3 b6 4.a3 |
0x45 | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x5000195, 0xe000c69, 0x6000396, | 1.d4 Nf6 2.c4 e6 3.Nf3 b6 4.g3 |
0x46 | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x5000195, 0xe000c69, 0x6000396, 0xc000ea8, | 1.d4 Nf6 2.c4 e6 3.Nf3 b6 4.g3 Ba6 |
0x47 | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x5000195, 0x4c000f59, | 1.d4 Nf6 2.c4 e6 3.Nf3 Bb4+ |
0x48 | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x5000195, 0xe000ce3, | 1.d4 Nf6 2.c4 e6 3.Nf3 d5 |
0x49 | 0x60002db, 0xd000fad, 0x600029a, 0xe000d2c, 0x5000195, 0xe000ce3, 0x5000052, | 1.d4 Nf6 2.c4 e6 3.Nf3 d5 4.Nc3 |
0x4A | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, | 1.d4 Nf6 2.c4 g6 |
0x4B | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, 0xc000f76, | 1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 |
0x4C | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, 0xc000f76, 0x600031c, | 1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 |
0x4D | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, 0xc000f76, 0x600031c, 0xe000ceb, | 1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 |
0x4E | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, 0xc000f76, 0x600031c, 0xe000ceb, 0x400014c, 0x900cf3f, | 1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Be2 O-O |
0x4F | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, 0xc000f76, 0x600031c, 0xe000ceb, 0x400014c, 0x900cf3f, 0x5000195, | 1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Be2 O-O 6.Nf3 |
0x50 | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, 0xc000f76, 0x600031c, 0xe000ceb, 0x6000355, | 1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.f3 |
0x51 | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, 0xc000f76, 0x600031c, 0xe000ceb, 0x6000355, 0x900cf3f, | 1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.f3 O-O |
0x52 | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, 0xc000f76, 0x600031c, 0xe000ceb, 0x6000355, 0x900cf3f, 0x4000094, | 1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.f3 O-O 6.Be3 |
0x53 | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, 0xc000f76, 0x600031c, 0xe000ceb, 0x5000195, 0x900cf3f, | 1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 O-O |
0x54 | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, 0xc000f76, 0x600031c, 0xe000ceb, 0x5000195, 0x900cf3f, 0x400014c, | 1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 O-O 6.Be2 |
0x55 | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, 0xc000f76, 0x600031c, 0xe000ceb, 0x5000195, 0x900cf3f, 0x400014c, 0xe000d24, | 1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 O-O 6.Be2 e5 |
0x56 | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, 0xc000f76, 0x600031c, 0xe000ceb, 0x5000195, 0x900cf3f, 0x400014c, 0xe000d24, 0x100c107, | 1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 O-O 6.Be2 e5 7.O-O |
0x57 | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, 0xc000f76, 0x600031c, 0xe000ceb, 0x5000195, 0x900cf3f, 0x400014c, 0xe000d24, 0x100c107, 0xd000e6a, 0x60006e3, 0xd000ab4, | 1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 O-O 6.Be2 e5 7.O-O Nc6 8.d5 Ne7 |
0x58 | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, 0xe000ce3, | 1.d4 Nf6 2.c4 g6 3.Nc3 d5 |
0x59 | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, 0xe000ce3, 0x5000195, | 1.d4 Nf6 2.c4 g6 3.Nc3 d5 4.Nf3 |
0x5A | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, 0xe000ce3, 0x6c006a3, 0xdc00b63, | 1.d4 Nf6 2.c4 g6 3.Nc3 d5 4.cxd5 Nxd5 |
0x5B | 0x60002db, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, 0xe000ce3, 0x6c006a3, 0xdc00b63, 0x600031c, 0xda008d2, 0x6a00252, 0xc000f76, | 1.d4 Nf6 2.c4 g6 3.Nc3 d5 4.cxd5 Nxd5 5.e4 Nxc3 6.bxc3 Bg7 |
0x5C | 0x60002db, 0xd000fad, 0x5000195, | 1.d4 Nf6 2.Nf3 |
0x5D | 0x60002db, 0xd000fad, 0x5000195, 0xe000ca2, | 1.d4 Nf6 2.Nf3 c5 |
0x5E | 0x60002db, 0xd000fad, 0x5000195, 0xe000ce3, | 1.d4 Nf6 2.Nf3 d5 |
0x5F | 0x60002db, 0xd000fad, 0x5000195, 0xe000d2c, | 1.d4 Nf6 2.Nf3 e6 |
0x60 | 0x60002db, 0xd000fad, 0x5000195, 0xe000d2c, 0x40000a6, | 1.d4 Nf6 2.Nf3 e6 3.Bg5 |
0x61 | 0x60002db, 0xd000fad, 0x5000195, 0xe000d2c, 0x600029a, | 1.d4 Nf6 2.Nf3 e6 3.c4 |
0x62 | 0x60002db, 0xd000fad, 0x5000195, 0xe000dae, | 1.d4 Nf6 2.Nf3 g6 |
0x63 | 0x60002db, 0xd000fad, 0x5000195, 0xe000dae, 0x40000a6, | 1.d4 Nf6 2.Nf3 g6 3.Bg5 |
0x64 | 0x60002db, 0xd000fad, 0x5000195, 0xe000dae, 0x600029a, | 1.d4 Nf6 2.Nf3 g6 3.c4 |
0x65 | 0x60002db, 0xd000fad, 0x5000195, 0xe000dae, 0x600029a, 0xc000f76, | 1.d4 Nf6 2.Nf3 g6 3.c4 Bg7 |
0x66 | 0x60002db, 0xd000fad, 0x5000195, 0xe000dae, 0x600029a, 0xc000f76, 0x5000052, | 1.d4 Nf6 2.Nf3 g6 3.c4 Bg7 4.Nc3 |
0x67 | 0x60002db, 0xd000fad, 0x5000195, 0xe000dae, 0x600029a, 0xc000f76, 0x5000052, 0x900cf3f, | 1.d4 Nf6 2.Nf3 g6 3.c4 Bg7 4.Nc3 O-O |
0x68 | 0x60002db, 0xd000fad, 0x5000195, 0xe000dae, 0x6000396, | 1.d4 Nf6 2.Nf3 g6 3.g3 |
0x69 | 0x60002db, 0xd000fad, 0x5000195, 0xe000dae, 0x6000396, 0xc000f76, 0x400014e, | 1.d4 Nf6 2.Nf3 g6 3.g3 Bg7 4.Bg2 |
0x6A | 0x600031c, | 1.e4 |
0x6B | 0x600031c, 0xe000ca2, | 1.e4 c5 |
0x6C | 0x600031c, 0xe000ca2, 0x6000292, | 1.e4 c5 2.c3 |
0x6D | 0x600031c, 0xe000ca2, 0x6000292, 0xe000ce3, 0x6c00723, 0xac00ee3, 0x60002db, | 1.e4 c5 2.c3 d5 3.exd5 Qxd5 4.d4 |
0x6E | 0x600031c, 0xe000ca2, 0x6000292, 0xe000ce3, 0x6c00723, 0xac00ee3, 0x60002db, 0xd000fad, | 1.e4 c5 2.c3 d5 3.exd5 Qxd5 4.d4 Nf6 |
0x6F | 0x600031c, 0xe000ca2, 0x6000292, 0xd000fad, 0x6000724, 0xd000b63, | 1.e4 c5 2.c3 Nf6 3.e5 Nd5 |
0x70 | 0x600031c, 0xe000ca2, 0x6000292, 0xd000fad, 0x6000724, 0xd000b63, 0x60002db, 0xec0089b, | 1.e4 c5 2.c3 Nf6 3.e5 Nd5 4.d4 cxd4 |
0x71 | 0x600031c, 0xe000ca2, 0x60002db, 0xec0089b, | 1.e4 c5 2.d4 cxd4 |
0x72 | 0x600031c, 0xe000ca2, 0x5000052, | 1.e4 c5 2.Nc3 |
0x73 | 0x600031c, 0xe000ca2, 0x5000052, 0xd000e6a, | 1.e4 c5 2.Nc3 Nc6 |
0x74 | 0x600031c, 0xe000ca2, 0x5000052, 0xd000e6a, 0x6000396, | 1.e4 c5 2.Nc3 Nc6 3.g3 |
0x75 | 0x600031c, 0xe000ca2, 0x5000052, 0xd000e6a, 0x6000396, 0xe000dae, | 1.e4 c5 2.Nc3 Nc6 3.g3 g6 |
0x76 | 0x600031c, 0xe000ca2, 0x5000052, 0xd000e6a, 0x6000396, 0xe000dae, 0x400014e, 0xc000f76, | 1.e4 c5 2.Nc3 Nc6 3.g3 g6 4.Bg2 Bg7 |
0x77 | 0x600031c, 0xe000ca2, 0x5000052, 0xd000e6a, 0x6000396, 0xe000dae, 0x400014e, 0xc000f76, 0x60002d3, | 1.e4 c5 2.Nc3 Nc6 3.g3 g6 4.Bg2 Bg7 5.d3 |
0x78 | 0x600031c, 0xe000ca2, 0x5000195, | 1.e4 c5 2.Nf3 |
0x79 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, | 1.e4 c5 2.Nf3 d6 |
0x7A | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x44000161, | 1.e4 c5 2.Nf3 d6 3.Bb5+ |
0x7B | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x60002db, | 1.e4 c5 2.Nf3 d6 3.d4 |
0x7C | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x60002db, 0xec0089b, | 1.e4 c5 2.Nf3 d6 3.d4 cxd4 |
0x7D | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x60002db, 0xec0089b, 0x5c0055b, | 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 |
0x7E | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, | 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 |
0x7F | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, | 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 |
0x80 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xe000c28, | 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 a6 |
0x81 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xe000c28, 0x400015a, | 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 a6 6.Bc4 |
0x82 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xe000c28, 0x400014c, | 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 a6 6.Be2 |
0x83 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xe000c28, 0x4000094, | 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 a6 6.Be3 |
0x84 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xe000c28, 0x40000a6, | 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 a6 6.Bg5 |
0x85 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xe000c28, 0x40000a6, 0xe000d2c, | 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 a6 6.Bg5 e6 |
0x86 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xe000dae, | 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 g6 |
0x87 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xe000dae, 0x4000094, 0xc000f76, 0x6000355, | 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 g6 6.Be3 Bg7 7.f3 |
0x88 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xe000dae, 0x4000094, 0xc000f76, 0x6000355, 0x900cf3f, | 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 g6 6.Be3 Bg7 7.f3 O-O |
0x89 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xd000e6a, | 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 Nc6 |
0x8A | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xd000e6a, 0x40000a6, | 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 Nc6 6.Bg5 |
0x8B | 0x600031c, 0xe000ca2, 0x5000195, 0xe000ceb, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xd000e6a, 0x40000a6, 0xe000d2c, 0x20000cb, | 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 Nc6 6.Bg5 e6 7.Qd2 |
0x8C | 0x600031c, 0xe000ca2, 0x5000195, 0xe000d2c, | 1.e4 c5 2.Nf3 e6 |
0x8D | 0x600031c, 0xe000ca2, 0x5000195, 0xe000d2c, 0x60002d3, | 1.e4 c5 2.Nf3 e6 3.d3 |
0x8E | 0x600031c, 0xe000ca2, 0x5000195, 0xe000d2c, 0x60002db, 0xec0089b, 0x5c0055b, | 1.e4 c5 2.Nf3 e6 3.d4 cxd4 4.Nxd4 |
0x8F | 0x600031c, 0xe000ca2, 0x5000195, 0xe000d2c, 0x60002db, 0xec0089b, 0x5c0055b, 0xe000c28, | 1.e4 c5 2.Nf3 e6 3.d4 cxd4 4.Nxd4 a6 |
0x90 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000d2c, 0x60002db, 0xec0089b, 0x5c0055b, 0xe000c28, 0x4000153, | 1.e4 c5 2.Nf3 e6 3.d4 cxd4 4.Nxd4 a6 5.Bd3 |
0x91 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000d2c, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000e6a, | 1.e4 c5 2.Nf3 e6 3.d4 cxd4 4.Nxd4 Nc6 |
0x92 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000d2c, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000e6a, 0x5000052, | 1.e4 c5 2.Nf3 e6 3.d4 cxd4 4.Nxd4 Nc6 5.Nc3 |
0x93 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000d2c, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000e6a, 0x5000052, 0xa000ef2, | 1.e4 c5 2.Nf3 e6 3.d4 cxd4 4.Nxd4 Nc6 5.Nc3 Qc7 |
0x94 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000d2c, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, | 1.e4 c5 2.Nf3 e6 3.d4 cxd4 4.Nxd4 Nf6 |
0x95 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000d2c, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, | 1.e4 c5 2.Nf3 e6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 |
0x96 | 0x600031c, 0xe000ca2, 0x5000195, 0xe000d2c, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xe000ceb, | 1.e4 c5 2.Nf3 e6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 d6 |
0x97 | 0x600031c, 0xe000ca2, 0x5000195, 0xd000e6a, | 1.e4 c5 2.Nf3 Nc6 |
0x98 | 0x600031c, 0xe000ca2, 0x5000195, 0xd000e6a, 0x4000161, | 1.e4 c5 2.Nf3 Nc6 3.Bb5 |
0x99 | 0x600031c, 0xe000ca2, 0x5000195, 0xd000e6a, 0x4000161, 0xe000dae, | 1.e4 c5 2.Nf3 Nc6 3.Bb5 g6 |
0x9A | 0x600031c, 0xe000ca2, 0x5000195, 0xd000e6a, 0x60002db, 0xec0089b, 0x5c0055b, | 1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4.Nxd4 |
0x9B | 0x600031c, 0xe000ca2, 0x5000195, 0xd000e6a, 0x60002db, 0xec0089b, 0x5c0055b, 0xe000d24, | 1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4.Nxd4 e5 |
0x9C | 0x600031c, 0xe000ca2, 0x5000195, 0xd000e6a, 0x60002db, 0xec0089b, 0x5c0055b, 0xe000dae, | 1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4.Nxd4 g6 |
0x9D | 0x600031c, 0xe000ca2, 0x5000195, 0xd000e6a, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, | 1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 |
0x9E | 0x600031c, 0xe000ca2, 0x5000195, 0xd000e6a, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xe000ceb, | 1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 d6 |
0x9F | 0x600031c, 0xe000ca2, 0x5000195, 0xd000e6a, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xe000ceb, 0x40000a6, | 1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 d6 6.Bg5 |
0xA0 | 0x600031c, 0xe000ca2, 0x5000195, 0xd000e6a, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xe000d24, | 1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 e5 |
0xA1 | 0x600031c, 0xe000ca2, 0x5000195, 0xd000e6a, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xe000d24, 0x150006e1, 0xe000ceb, | 1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 e5 6.Ndb5 d6 |
0xA2 | 0x600031c, 0xe000ca2, 0x5000195, 0xd000e6a, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xe000d24, 0x150006e1, 0xe000ceb, 0x40000a6, 0xe000c28, | 1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 e5 6.Ndb5 d6 7.Bg5 a6 |
0xA3 | 0x600031c, 0xe000ca2, 0x5000195, 0xd000e6a, 0x60002db, 0xec0089b, 0x5c0055b, 0xd000fad, 0x5000052, 0xe000d24, 0x150006e1, 0xe000ceb, 0x40000a6, 0xe000c28, 0x5000850, 0xe000c61, | 1.e4 c5 2.Nf3 Nc6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 e5 6.Ndb5 d6 7.Bg5 a6 8.Na3 b5 |
0xA4 | 0x600031c, 0xe000caa, | 1.e4 c6 |
0xA5 | 0x600031c, 0xe000caa, 0x60002db, 0xe000ce3, | 1.e4 c6 2.d4 d5 |
0xA6 | 0x600031c, 0xe000caa, 0x60002db, 0xe000ce3, 0x6000724, | 1.e4 c6 2.d4 d5 3.e5 |
0xA7 | 0x600031c, 0xe000caa, 0x60002db, 0xe000ce3, 0x6000724, 0xc000ea5, | 1.e4 c6 2.d4 d5 3.e5 Bf5 |
0xA8 | 0x600031c, 0xe000caa, 0x60002db, 0xe000ce3, 0x6c00723, 0xec00aa3, | 1.e4 c6 2.d4 d5 3.exd5 cxd5 |
0xA9 | 0x600031c, 0xe000caa, 0x60002db, 0xe000ce3, 0x6c00723, 0xec00aa3, 0x600029a, 0xd000fad, 0x5000052, | 1.e4 c6 2.d4 d5 3.exd5 cxd5 4.c4 Nf6 5.Nc3 |
0xAA | 0x600031c, 0xe000caa, 0x60002db, 0xe000ce3, 0x5000052, | 1.e4 c6 2.d4 d5 3.Nc3 |
0xAB | 0x600031c, 0xe000caa, 0x60002db, 0xe000ce3, 0x5000052, 0xec008dc, 0x5c0049c, | 1.e4 c6 2.d4 d5 3.Nc3 dxe4 4.Nxe4 |
0xAC | 0x600031c, 0xe000caa, 0x60002db, 0xe000ce3, 0x500004b, 0xec008dc, 0x5c002dc, | 1.e4 c6 2.d4 d5 3.Nd2 dxe4 4.Nxe4 |
0xAD | 0x600031c, 0xe000ce3, 0x6c00723, 0xd000fad, | 1.e4 d5 2.exd5 Nf6 |
0xAE | 0x600031c, 0xe000ce3, 0x6c00723, 0xac00ee3, | 1.e4 d5 2.exd5 Qxd5 |
0xAF | 0x600031c, 0xe000ce3, 0x6c00723, 0xac00ee3, 0x5000052, | 1.e4 d5 2.exd5 Qxd5 3.Nc3 |
0xB0 | 0x600031c, 0xe000ce3, 0x6c00723, 0xac00ee3, 0x5000052, 0xa0008e0, | 1.e4 d5 2.exd5 Qxd5 3.Nc3 Qa5 |
0xB1 | 0x600031c, 0xe000ceb, | 1.e4 d6 |
0xB2 | 0x600031c, 0xe000ceb, 0x60002db, | 1.e4 d6 2.d4 |
0xB3 | 0x600031c, 0xe000ceb, 0x60002db, 0xd000fad, | 1.e4 d6 2.d4 Nf6 |
0xB4 | 0x600031c, 0xe000ceb, 0x60002db, 0xd000fad, 0x5000052, | 1.e4 d6 2.d4 Nf6 3.Nc3 |
0xB5 | 0x600031c, 0xe000ceb, 0x60002db, 0xd000fad, 0x5000052, 0xe000dae, | 1.e4 d6 2.d4 Nf6 3.Nc3 g6 |
0xB6 | 0x600031c, 0xe000ceb, 0x60002db, 0xd000fad, 0x5000052, 0xe000dae, 0x600035d, 0xc000f76, 0x5000195, | 1.e4 d6 2.d4 Nf6 3.Nc3 g6 4.f4 Bg7 5.Nf3 |
0xB7 | 0x600031c, 0xe000ceb, 0x60002db, 0xd000fad, 0x5000052, 0xe000dae, 0x5000195, 0xc000f76, | 1.e4 d6 2.d4 Nf6 3.Nc3 g6 4.Nf3 Bg7 |
0xB8 | 0x600031c, 0xe000d24, | 1.e4 e5 |
0xB9 | 0x600031c, 0xe000d24, 0x600035d, | 1.e4 e5 2.f4 |
0xBA | 0x600031c, 0xe000d24, 0x5000052, | 1.e4 e5 2.Nc3 |
0xBB | 0x600031c, 0xe000d24, 0x5000195, | 1.e4 e5 2.Nf3 |
0xBC | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, | 1.e4 e5 2.Nf3 Nc6 |
0xBD | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x4000161, | 1.e4 e5 2.Nf3 Nc6 3.Bb5 |
0xBE | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x4000161, 0xe000c28, | 1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 |
0xBF | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x4000161, 0xe000c28, 0x4000858, | 1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 4.Ba4 |
0xC0 | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x4000161, 0xe000c28, 0x4000858, 0xd000fad, | 1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 4.Ba4 Nf6 |
0xC1 | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x4000161, 0xe000c28, 0x4000858, 0xd000fad, 0x100c107, | 1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 4.Ba4 Nf6 5.O-O |
0xC2 | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x4000161, 0xe000c28, 0x4000858, 0xd000fad, 0x100c107, 0xe000c61, 0x4000611, | 1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 4.Ba4 Nf6 5.O-O b5 6.Bb3 |
0xC3 | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x4000161, 0xe000c28, 0x4000858, 0xd000fad, 0x100c107, 0xc000f74, | 1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 4.Ba4 Nf6 5.O-O Be7 |
0xC4 | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x4000161, 0xe000c28, 0x4000858, 0xd000fad, 0x100c107, 0xc000f74, 0x3000144, 0xe000c61, 0x4000611, 0xe000ceb, | 1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 4.Ba4 Nf6 5.O-O Be7 6.Re1 b5 7.Bb3 d6 |
0xC5 | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x4000161, 0xe000c28, 0x4000858, 0xd000fad, 0x100c107, 0xc000f74, 0x3000144, 0xe000c61, 0x4000611, 0xe000ceb, 0x6000292, 0x900cf3f, | 1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 4.Ba4 Nf6 5.O-O Be7 6.Re1 b5 7.Bb3 d6 8.c3 O-O |
0xC6 | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x4000161, 0xe000c28, 0x4000858, 0xd000fad, 0x100c107, 0xc000f74, 0x3000144, 0xe000c61, 0x4000611, 0xe000ceb, 0x6000292, 0x900cf3f, 0x60003d7, | 1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 4.Ba4 Nf6 5.O-O Be7 6.Re1 b5 7.Bb3 d6 8.c3 O-O 9.h3 |
0xC7 | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x4000161, 0xe000c28, 0x4000858, 0xd000fad, 0x100c107, 0xc000f74, 0x3000144, 0xe000c61, 0x4000611, 0xe000ceb, 0x6000292, 0x900cf3f, 0x60003d7, 0xd000aa0, 0x400044a, 0xe000ca2, 0x60002db, | 1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 4.Ba4 Nf6 5.O-O Be7 6.Re1 b5 7.Bb3 d6 8.c3 O-O 9.h3 Na5 10.Bc2 c5 11.d4 |
0xC8 | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x4000161, 0xe000c28, 0x4000858, 0xd000fad, 0x100c107, 0xc000f74, 0x3000144, 0xe000c61, 0x4000611, 0x900cf3f, | 1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 4.Ba4 Nf6 5.O-O Be7 6.Re1 b5 7.Bb3 O-O |
0xC9 | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x4000161, 0xd000fad, | 1.e4 e5 2.Nf3 Nc6 3.Bb5 Nf6 |
0xCA | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x400015a, | 1.e4 e5 2.Nf3 Nc6 3.Bc4 |
0xCB | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x400015a, 0xd000fad, | 1.e4 e5 2.Nf3 Nc6 3.Bc4 Nf6 |
0xCC | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x60002db, 0xec0091b, | 1.e4 e5 2.Nf3 Nc6 3.d4 exd4 |
0xCD | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x60002db, 0xec0091b, 0x5c0055b, | 1.e4 e5 2.Nf3 Nc6 3.d4 exd4 4.Nxd4 |
0xCE | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x5000052, | 1.e4 e5 2.Nf3 Nc6 3.Nc3 |
0xCF | 0x600031c, 0xe000d24, 0x5000195, 0xd000e6a, 0x5000052, 0xd000fad, | 1.e4 e5 2.Nf3 Nc6 3.Nc3 Nf6 |
0xD0 | 0x600031c, 0xe000d24, 0x5000195, 0xd000fad, | 1.e4 e5 2.Nf3 Nf6 |
0xD1 | 0x600031c, 0xe000d24, 0x5000195, 0xd000fad, 0x5c00564, 0xe000ceb, | 1.e4 e5 2.Nf3 Nf6 3.Nxe5 d6 |
0xD2 | 0x600031c, 0xe000d2c, | 1.e4 e6 |
0xD3 | 0x600031c, 0xe000d2c, 0x60002d3, | 1.e4 e6 2.d3 |
0xD4 | 0x600031c, 0xe000d2c, 0x60002db, | 1.e4 e6 2.d4 |
0xD5 | 0x600031c, 0xe000d2c, 0x60002db, 0xe000ce3, | 1.e4 e6 2.d4 d5 |
0xD6 | 0x600031c, 0xe000d2c, 0x60002db, 0xe000ce3, 0x6000724, 0xe000ca2, | 1.e4 e6 2.d4 d5 3.e5 c5 |
0xD7 | 0x600031c, 0xe000d2c, 0x60002db, 0xe000ce3, 0x6000724, 0xe000ca2, 0x6000292, | 1.e4 e6 2.d4 d5 3.e5 c5 4.c3 |
0xD8 | 0x600031c, 0xe000d2c, 0x60002db, 0xe000ce3, 0x5000052, | 1.e4 e6 2.d4 d5 3.Nc3 |
0xD9 | 0x600031c, 0xe000d2c, 0x60002db, 0xe000ce3, 0x5000052, 0xc000f59, | 1.e4 e6 2.d4 d5 3.Nc3 Bb4 |
0xDA | 0x600031c, 0xe000d2c, 0x60002db, 0xe000ce3, 0x5000052, 0xc000f59, 0x6000724, | 1.e4 e6 2.d4 d5 3.Nc3 Bb4 4.e5 |
0xDB | 0x600031c, 0xe000d2c, 0x60002db, 0xe000ce3, 0x5000052, 0xc000f59, 0x6000724, 0xe000ca2, | 1.e4 e6 2.d4 d5 3.Nc3 Bb4 4.e5 c5 |
0xDC | 0x600031c, 0xe000d2c, 0x60002db, 0xe000ce3, 0x5000052, 0xc000f59, 0x6000724, 0xe000ca2, 0x6000210, 0x4ca00652, 0x6800252, | 1.e4 e6 2.d4 d5 3.Nc3 Bb4 4.e5 c5 5.a3 Bxc3+ 6.bxc3 |
0xDD | 0x600031c, 0xe000d2c, 0x60002db, 0xe000ce3, 0x5000052, 0xd000fad, | 1.e4 e6 2.d4 d5 3.Nc3 Nf6 |
0xDE | 0x600031c, 0xe000d2c, 0x60002db, 0xe000ce3, 0x5000052, 0xd000fad, 0x40000a6, | 1.e4 e6 2.d4 d5 3.Nc3 Nf6 4.Bg5 |
0xDF | 0x600031c, 0xe000d2c, 0x60002db, 0xe000ce3, 0x500004b, | 1.e4 e6 2.d4 d5 3.Nd2 |
0xE0 | 0x600031c, 0xe000d2c, 0x60002db, 0xe000ce3, 0x500004b, 0xe000ca2, | 1.e4 e6 2.d4 d5 3.Nd2 c5 |
0xE1 | 0x600031c, 0xe000d2c, 0x60002db, 0xe000ce3, 0x500004b, 0xd000fad, | 1.e4 e6 2.d4 d5 3.Nd2 Nf6 |
0xE2 | 0x600031c, 0xe000d2c, 0x60002db, 0xe000ce3, 0x500004b, 0xd000fad, 0x6000724, 0x1d000b73, | 1.e4 e6 2.d4 d5 3.Nd2 Nf6 4.e5 Nfd7 |
0xE3 | 0x600031c, 0xe000d2c, 0x60002db, 0xe000ce3, 0x500004b, 0xd000fad, 0x6000724, 0x1d000b73, 0x4000153, 0xe000ca2, 0x6000292, 0xd000e6a, 0x500018c, | 1.e4 e6 2.d4 d5 3.Nd2 Nf6 4.e5 Nfd7 5.Bd3 c5 6.c3 Nc6 7.Ne2 |
0xE4 | 0x600031c, 0xe000dae, | 1.e4 g6 |
0xE5 | 0x600031c, 0xe000dae, 0x60002db, | 1.e4 g6 2.d4 |
0xE6 | 0x600031c, 0xe000dae, 0x60002db, 0xc000f76, | 1.e4 g6 2.d4 Bg7 |
0xE7 | 0x600031c, 0xe000dae, 0x60002db, 0xc000f76, 0x5000052, | 1.e4 g6 2.d4 Bg7 3.Nc3 |
0xE8 | 0x600031c, 0xe000dae, 0x60002db, 0xc000f76, 0x5000052, 0xe000ceb, | 1.e4 g6 2.d4 Bg7 3.Nc3 d6 |
0xE9 | 0x600031c, 0xd000fad, | 1.e4 Nf6 |
0xEA | 0x600031c, 0xd000fad, 0x6000724, 0xd000b63, | 1.e4 Nf6 2.e5 Nd5 |
0xEB | 0x600031c, 0xd000fad, 0x6000724, 0xd000b63, 0x60002db, 0xe000ceb, | 1.e4 Nf6 2.e5 Nd5 3.d4 d6 |
0xEC | 0x600031c, 0xd000fad, 0x6000724, 0xd000b63, 0x60002db, 0xe000ceb, 0x5000195, | 1.e4 Nf6 2.e5 Nd5 3.d4 d6 4.Nf3 |
0xED | 0x600035d, | 1.f4 |
0xEE | 0x6000396, | 1.g3 |
0xEF | 0x5000195, | 1.Nf3 |
0xF0 | 0x5000195, 0xe000ca2, | 1.Nf3 c5 |
0xF1 | 0x5000195, 0xe000ca2, 0x600029a, | 1.Nf3 c5 2.c4 |
0xF2 | 0x5000195, 0xe000ce3, | 1.Nf3 d5 |
0xF3 | 0x5000195, 0xe000ce3, 0x600029a, | 1.Nf3 d5 2.c4 |
0xF4 | 0x5000195, 0xe000ce3, 0x60002db, | 1.Nf3 d5 2.d4 |
0xF5 | 0x5000195, 0xe000ce3, 0x6000396, | 1.Nf3 d5 2.g3 |
0xF6 | 0x5000195, 0xe000dae, | 1.Nf3 g6 |
0xF7 | 0x5000195, 0xd000fad, | 1.Nf3 Nf6 |
0xF8 | 0x5000195, 0xd000fad, 0x600029a, | 1.Nf3 Nf6 2.c4 |
0xF9 | 0x5000195, 0xd000fad, 0x600029a, 0xe000ca2, | 1.Nf3 Nf6 2.c4 c5 |
0xFA | 0x5000195, 0xd000fad, 0x600029a, 0xe000d2c, | 1.Nf3 Nf6 2.c4 e6 |
0xFB | 0x5000195, 0xd000fad, 0x600029a, 0xe000dae, | 1.Nf3 Nf6 2.c4 g6 |
0xFC | 0x5000195, 0xd000fad, 0x600029a, 0xe000dae, 0x5000052, | 1.Nf3 Nf6 2.c4 g6 3.Nc3 |
0xFD | 0x5000195, 0xd000fad, 0x6000396, | 1.Nf3 Nf6 2.g3 |
0xFE | 0x5000195, 0xd000fad, 0x6000396, 0xe000dae | 1.Nf3 Nf6 2.g3 g6 |
Note: 0x00 is unused, and 0xFF indicates the end of the stored line lookup table
Bit | 31-24 | 23-16 | 15-0 |
---|---|---|---|
Name | SAN Conversion | Undo | Stockfish-compatible Move |
Bit | 31 | 30 | 29 | 28 | 27 | 26-24 | 23-21 | 20-18 | 17-16 | 15-14 | 13-12 | 11-6 | 5-0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Name | Special Flag (unused) | Check | Ambiguous Move: Include Rank in SAN | Ambiguous Move: Include File in SAN | Black to Move | Moving Piece | Captured Piece | En Passant File (unused) | Castling Flags (unused) | Special Move Flag | Promotion Piece Type | Origin Square | Destination Square |
Value | Piece |
---|---|
1 | King |
2 | Queen |
3 | Rook |
4 | Bishop |
5 | Knight |
6 | Pawn |
Value | Special Move |
---|---|
0 | None |
1 | Promotion |
2 | En Passant |
3 | Castling |
Value | Piece Type |
---|---|
0 | KNIGHT |
1 | BISHOP |
2 | ROOK |
3 | QUEEN |
Note: This is equal to the Stockfish PieceType - 2
Little-endian Rank/File Mapping
A | B | C | D | E | F | G | H | |
---|---|---|---|---|---|---|---|---|
8 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
7 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 |
6 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
5 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
4 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
3 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
NW N NE
+7 +8 +9
\ | /
W -1 <- 0 -> +1 E
/ | \
-9 -8 -7
SW S SE
Bit | 23-22 | 21-20 | 19-18 | 17-16 | 15-12 | 11-10 | 9-8 | 7-6 | 5-4 | 3-0 |
---|---|---|---|---|---|---|---|---|---|---|
Name | Number of White Queens | Number of White Rooks | Number of White Bishops | Number of White Knights | Number of White Pawns | Number of Black Queens | Number of Black Rooks | Number of Black Bishops | Number of Black Knights | Number of Black Pawns |
Note: Only counts from 0 to 15 are possible for pawns, and only counts from 0 to 3 are possible for pieces.
Bit | 71-70 | 69-0 |
---|---|---|
Name | Number of Plies High | Home Pawn Data |
Bit | 9-8 | 7-0 |
---|---|---|
Name | Number of Plies High | Number of Plies Low |
Bit | 69-64 | 63-0 |
---|---|---|
Name | Data Length | Data |
Data Length is a uint6 containing the number of valid entries in Data. Data is an array of uint4 index values indicating that the pawn at that index moved from its home square in the order the array is populated. The first index is in the most significant nibble of Data. The pawn index values start by counting the black pawns from the h file to the a file, then the white pawns from the h file to the a file. Only the first move by a pawn is recorded.
There are four NameBases, one each for PLAYER, EVENT , SITE and ROUND tags Contains all Player, Event, Site and Round names used in the database. Each name is stored only once even if it occurs in many games, and there is a database restriction on the number of unique names. The limits are -
Player names: 2^20 - 1 Event names: 2^19 - 1 Site names: 2^19 - 1 Round names: 2^18 - 1
For each name type, names are written in alphabetical order and the strings are front-coded to save space. The name file is usually the smallest of the three database files.
Name | Length (Bytes) | Data Type | Description |
---|---|---|---|
Magic Header | 8 | string | 8-byte identifier for Scid name files. 53 63 69 64 2E 73 6E 00 in Hex i.e. Scid.sn\NUL in ASCII |
Compatibility | 4 | none | Empty 4 bytes for backwards-compatibility. Previously stored a timestamp in Scid versions < 4 |
Player Names Count | 3 | uint | Number of player names in the NameBase. |
Event Names Count | 3 | uint | Number of event names in the NameBase. |
Site Names Count | 3 | uint | Number of site names in the NameBase. |
Round Names Count | 3 | uint | Number of round names in the NameBase. |
Player Maximum Frequency | 3 | uint | Largest number of times any player is mentioned in index. |
Event Maximum Frequency | 3 | uint | Largest number of times any event is mentioned in index. |
Site Maximum Frequency | 3 | uint | Largest number of times any site is mentioned in index. |
Round Maximum Frequency | 3 | uint | Largest number of times any round is mentioned in index. |
The body consists of one section each for the different NameBases: Player, Event, Site, and Round respectively. Each is identical in structure, and contains a number of entries equal to the count stored in the header.
Name | Length (Bytes) | Data Type | Description |
---|---|---|---|
ID | 2-3 | uint | Reference ID for the name entry used throughout the database. Scid throws a corrupt error if ID >= Names Count. |
Frequency | 1-3 | uint | Number of times this name is referenced in the game database. |
Length | 1 | uint | Length of the name string. |
Prefix Length | 1* | uint | Number of characters shared between this entry and the previous entry. *The first entry does not contain this byte, do not attempt to read it on the first entry. |
Name Suffix | length - prefix | String | The name of the entry with the prefix removed. |
Note: ID and Frequency values have variable lengths determined by the maximum frequencies stored in the header. These values are stored in the smallest number of bytes in their length range possible depending on the maximum frequency value.
Maximum Frequency Value | Variable Length (Bytes) |
---|---|
< 256 | 1* |
< 65536 | 2 |
Greater | 3 |
*Note: ID will never be 1 byte long
This file contains the actual moves, variations and comments of each game.
The move encoding format is very compact: most moves take only a single byte (8 bits)! This is done by storing the piece to move in 4 bits (2^4 = 16 pieces) and the move direction in another 4 bits. Only Queen diagonal moves cannot be stored in this small space. This compactness is the reason Scid does not support chess variants.
The Game File is divided into data blocks with a maximum size of 131072 bytes due to the IndexEntry Length of 17 bits. Games cannot cross over a block boundary.
Name | Length (Bytes) | Data Type | Description |
---|---|---|---|
Non-standard Tags | terminated | custom | Tag names and values that are not standard in the PGN format. NULL-terminated. |
Flags | 1 | custom | Game flags. Redundant with IndexEntry, but only contains first three flags. |
Starting Position | terminated* | string | FEN string for the starting position if non-standard. NULL-terminated. *Does not exist if starting position is standard. |
Move List | terminated | custom | Full move list including variations. Custom terminated. |
Comments | variable | string | Full list of user-defined comments. Presented in order of depth-first traversal. NULL-terminated. |
Name | Length (Bytes) | Description |
---|---|---|
Name Length | 1 | Length of the Non-standard Tag Name. |
Tag Name | Name Length | Name of the Non-standard Tag. |
Tag Length | 1 | Length of the Non-standard Tag. |
Tag | Tag Length | Value of the Non-standard Tag. |
The Move List consists of consecutive one byte (two for queen moves) descriptions of each move or special markers. The values describe a depth-first traversal of the move variation tree.
Marker Value | Name | Description |
---|---|---|
0-10 | Move | An encoded move in the current board position. |
11 | NAG | Marker indicating the next byte is a NAG value associated with its following move/marker. |
12 | Comment | Marker indicating that the next move/marker has an associated comment (see comment list specification). |
13 | Start | Marker indicating the start of a game or variation. |
14 | End Variation | Marker indicating the end of a variation. |
15 | End Game | Marker indicating the end of a game. All games MUST end with this marker or a corruption error will be thrown. |
Value | NAG |
---|---|
1 | Good Move |
2 | Poor Move |
3 | Excellent Move |
4 | Blunder |
5 | Interesting Move |
6 | Dubious Move |
8 | Only Move |
10 | Equal |
13 | Unclear |
14 | White Slight |
15 | Black Slight |
16 | White Clear |
17 | Black Clear |
18 | White Decisive |
19 | Black Decisive |
20 | White Crushing |
21 | Black Crushing |
22 | ZugZwang |
23 | Black ZugZwang |
26 | More Room |
35 | Development Advantage |
36 | With Initiative |
40 | With Attack |
41 | With Black Attack |
44 | Compensation* |
48 | Slight Center* |
50 | Center |
54 | Slight King Side* |
56 | Moderate King Side* |
58 | King Side* |
60 | Slight Queen Side* |
62 | Moderate Queen Side* |
64 | Queen Side* |
130 | Slight Counter Play* |
132 | Counter Play |
134 | Decisive Counter Play |
131 | Black Slight Counter Play |
133 | Black Counter Play |
135 | Black Decisive Counter Play |
136 | Time Limit |
140 | With Idea |
142 | Better Is |
144 | Various Moves |
145 | Comment |
146 | Novelty |
147 | Weak Point |
148 | Ending |
149 | File |
150 | Diagonal |
151 | Bishop Pair |
153 | Opposite Bishops |
154 | Same Bishops |
190 | Etc |
191 | Double Pawns |
192 | Separated Pawns |
193 | United Pawns |
201 | Diagram** |
210 | See** |
211 | Mate** |
212 | PassedPawn** |
213 | MorePawns** |
214 | With** |
215 | Without** |
*From White's Perspective
** Scid-specific
Bit | 7-4 | 3-0 |
---|---|---|
Name | Piece Number | Encoded Move |
The top 4 bits of the move is the Piece Number. Each piece for each player is assigned a piece number (0-15) which carries with it throughout the game. The type of that piece determines the encoding.
Piece Number | Piece |
---|---|
0 | King |
1 | Rook A |
2 | Knight B |
3 | Bishop C |
4 | Queen |
5 | Bishop F |
6 | Knight G |
7 | Rook H |
*Note: If starting from a non-standard position the piece numbers are in the order they appear in the FEN, EXCEPT the King and the first piece that appears are swapped.
Encoded Move | Movement |
---|---|
1 | -9 |
2 | -8 |
3 | -7 |
4 | -1 |
5 | 1 |
6 | 7 |
7 | 8 |
8 | 9 |
9 | -2 |
10 | 2 |
Encoded Move | Movement* | Promote To |
---|---|---|
0 | 7 | None |
1 | 8 | None |
2 | 9 | None |
3 | 7 | Queen |
4 | 8 | Queen |
5 | 9 | Queen |
6 | 7 | Rook |
7 | 8 | Rook |
8 | 9 | Rook |
9 | 7 | Bishop |
10 | 8 | Bishop |
11 | 9 | Bishop |
12 | 7 | Knight |
13 | 8 | Knight |
14 | 9 | Knight |
*Note: Pawn Movements are given for white player. To get movement directions for black, negate the movement value.
Value | Movement |
---|---|
1 | -17 |
2 | -15 |
3 | -10 |
4 | -6 |
5 | 6 |
6 | 10 |
7 | 15 |
8 | 17 |
Value | To Rank | To File |
---|---|---|
0-7 | Value | - |
8-15 | - | (Value - 8) |
Bit | 3 | 2-0 |
---|---|---|
Name | Direction | Destination File |
Direction | Movement |
---|---|
0 | 9 |
1 | -7 |
*Note: Movement is the value to add to the previous position until reaching the destination file.
Bit | 3 | 2-0 |
---|---|---|
Name | Rank/File | Destination |
Rank/File Value | Destination | Target File/Rank |
---|---|---|
1 | Value | Current File / Value |
0 | Current File | Diagonal Movement Value is stored in next byte. Target position is (value - 64). Value MUST be between 64 and 127 inclusive. |
0 | Any Other Value | Value / Current Rank |