Syzygy file format documentation

Endgame analysis using tablebases, EGTB generation, exchange, sharing, discussions, etc..
Post Reply
Sebastian Venter
Posts: 1
Joined: Sat Aug 06, 2022 8:55 am
Sign-up code: 10159

Syzygy file format documentation

Post by Sebastian Venter »

Hello all,

I am interested in writing a permissively-licensed Rust library for probing syzygy TBs in an engine search context. Unfortunately there doesn't seem to exist any 'proper' documentation of the file format e.g. data layouts, header fields, details of the compression scheme(s) used.

There is already a Rust syzygy implementation in shakmaty-syzygy, but due to the GPL licensing and tying in to the rest of shakmaty, it's not viable for use in a lot of engines, and not appropriate to copy from or even reference if trying to make a more permissive library.

Alternative permissively-licensed implementations could serve as references e.g. Fathom and Pyrrhic, but this is also not ideal when also trying to implement in a new language, with different capabilities and API conventions.

Does anyone have any language- and implementation-independent documentation of the syzygy file format that could be used to guide a probing implementation? Otherwise, would anyone who does understand the format be willing to communicate with me to explain the finer details? I would then be happy to create 'proper' documentation for others to use for implementations in their language of choice.

Thanks in advance for any help!
Post Reply