DroidFish has an rtb folder that should be used for wdl and dtz syzygy endgame tables. For the six pieces tables it represents roughly 80+60Gb and as I my phone has only 64Gb as internal memory, I would like to put the files on a SD card and make DroidFish point to them, but it does not seem to be possible. Is it really the case ? If not, how should I do ?
\path\to\endgame\tablebase\files be ... the path to endgame tablebase files. This means that the directory should contains only tablebase files, and not for instance folder for up to 5 pieces tablebase files and a folder for 6 pieces tablebase files. The files are .rtbw or .rtbz files. (These are Syzygy files, I don't know how it works for Gaviotta files (for which DroidFish provides the gtb folder) but I guess it works the same.)
The .rtbw files store win/draw/loss information including, where applicable, information on the 50-move rule. During the search only the .rtbw files are accessed. These files are "two-sided": they store information for both white to move and black to move.
The .rtbz files store the distance-to-zero: the number of moves to the next capture or pawn move. These files only need to be accessed when the root position has 6 pieces or less. They are "single-sided".
Anyway, all these files for up to 6 pieces endgames are in the folder
\path\to\endgame\tablebase\files and now you should make DroidFish point to it. This takes place in DroidFish in "Settings --> Endgame Tablebases --> Syzygy Directory" where you have to put the complete path -- don't forget the "\" the path necessarily starts with.
It may be stupid as you already put files in that folder so you think you know its path, but beware as for instance on my samsung galaxy, the application "My Files" (the samsung file explorer) gives me a wrong path : if I use the path it gives to me, I don't see that tablebase are used by the engine in analysis mode :
as in the last line there is only "d:35/55 3:g4 t:431.7 n:1935M nps:4483k h:99" and no "tb:x" in it. Recall that "d" is the depth of analysis expressed in number of moves, "3:g4" at this point indicates that the third best move is g4, "t" is the time spent on the analysis so far, expressed in seconds, "n" is the number of nodes the engine searched through, "nps" is the current number of nodes the engine searches through per second and "h" divided by 10 gives you how full in percent the hashtable is, in previous picture's case it is therefore 9.9% full. (These notations and definition are UCI engines standards.)
The reason is that the "My Files" application does not give the absolute path to the folder. To get the absolute path to the folder, you have to use for instance the "Explorer" application which, while you browse, will display the absolute path the to place you browsed at.
- Example for a folder placed in the hard disk of my phone :
- Example for a folder placed in the micro sd card plugged in my phone :
/storage/emulated/0/DroidFish/rtb is a vanilla DroidFish folder that you should use if you have place enough on your phone's harddisk. In
/storage/3661-6463 is the absolute path of my micro sd card and the
Syzygy is the folder I created in it.
I give all these precisions about paths because what is for instance provided here does not work in my case. So beware, the absolute path (internal or external = on the sd card) depends on your device.
When it works, the analysis looks like :
and you see the "tb:15" bit in the last analysis line, showing that the tablebased are used. The "tb" indicates the current number of tablebase consultations/hits by the engine. Sadly, even as Stockfish provide dtm and dtz information, they are not printed in droid fish analysis part and as far as I know there's no option allowing to tweak this ...
I have a samsung galaxy s9+ with 64Gb of internal memory and a 250Gb micro sd card that contains 150Gb of endgame tablebase files versus a samsung galaxy s10+ with 1Tb of internal memory containing the same 150Gb of tablebase files and I don't see any real difference of performance. It's just a tiny bit slower on the s9+ when the analysis depth gets bigger, but nothing major. In any cases, it will crush any human more than 99% of the time on average. ;)