Skip to content

Sixth Release V1.30

V1.30, released 08-May-2018, is the sixth stable version. You can download the ZIP file (5 MB):

Download V1.30

Changes from V1.20

  • The configuration format has changed. After the software update, the CT800 will erase any existing configuration and saved game.
  • Better king safety: avoid opening the kingside when not yet castled.
  • Improved the defence against pawn and wrong bishop if the defending side still has one or two pawns left: the defending king must take the corner.
  • The pre-search has been reduced from three plies depth to one ply. In complicated middlegame positions, the pre-search could take 10 seconds on the CT800 target hardware.
  • More efficient iterative deepening with aspiration window.
  • Added a dedicated reply cache for the moves at depth 2.
  • Removed the threat move detection at root level.
  • The time allocation keeps only a 100 ms as final safeguard buffer instead of 1500 ms.
  • Fixed a bug where manually saving and loading a game in game-in or tournament mode added Fischer delay and player bonus to the player’s clock.
  • The bitbase access for king and pawn vs. king is faster.
  • Modified the evaluation noise as setting from 0 % (full strength) to 100 % (random mover), requiring the change of the configuration format mentioned above.
  • Increased the amount of pseudo-legal moves that entered positions can have from 190 to 200.
  • More opening book knowledge.
  • Some cleanup for the opening book code.

UCI versions

  • Update advised: fixed a buffer overrun that happened with “debug on” and long input lines.
  • Added support for the UCI standard options that set the engine strength in Elo.
  • Added the UCI option “Eval Noise [%]”.
  • Removed the UCI option “Eval Blur [cps]”.
  • The default move overhead for GUI delays has been reduced from a 100 ms to 50 ms.
  • Improved the time management with extremely short time controls, like one second per game.
  • Optimised the move list parser.
  • Removed checking the transferred position and move list for draw by 50 moves or threefold repetition or insufficient material, which the engine used to answer with a null move. The removal increases the compatibility with GUI quirks in Arena and Droidfish.
  • Added the non-standard UCI command “perft” for testing correctness and performance of the move generator.


  • Changed the formatted output to Windows functions or replaced them at all. This reduces the binary size by about 50 kB and gives a little more speed.


  • The Android build chain has been updated from Android NDK r15c to r16b.

Raspberry Pi

  • The binary is linked dynamically, reducing the size.

Known issues

  • The search in drawn KQ:KP positions is unstable because the draw recognition in quiescence was removed with V1.20.
  • Building the firmware with GCC 7.0 or higher fails because of false positive warnings that are treated as errors.
  • A Clang issue with the compiler requires a small workaround for 64 bit. As to keep the versions in line, the impacted feature has been disabled for all Android builds.

Note: issues are fixed with new releases only – there are no backports. However, if an issue is found, it will be listed for the previous releases where applicable.