Skip to content

Release V1.30

V1.30 was released on 2018-May-08. You can download the release ZIP file (5 MB):

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 old 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 KP:K 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 NDK r15c to r16b.

Raspberry Pi

  • The binary is linked dynamically, reducing the size.

Known issues

All versions

  • The search in drawn KQ:KP positions is unstable because the draw recognition in quiescence was removed with V1.20.

Embedded target

  • When entering a new position after undoing or redoing moves, the move list in the main screen is not cleared.
  • Building the firmware with GCC 7.0 or higher fails because of false positive warnings that are treated as errors.

UCI versions

  • The “en passant” square given via FEN position string is discarded erroneously.


  • 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.