pseudoEngine UCI v0.2 ©johnRolandPenner (August 6, 2024) Minimal UCI Asynchronous Timed Engine in Swift
This Swift Template seeks to address four issues related to UCI implemenation:
- UCI Responds to Terminal Commands using: readLine() and print()
- Asynchronous Multi-Threading to allow UCI to respond while Engine Processes
- Adding Timer Abort — sending a signal into the Engine to Abort on a Timer
- HiArcs Chess says: Not a Valid Engine > import os and fflush(__stdoutp) after print()
% swiftc -o pseudoEngine pseudoEngine-UCI.swift % ./pseudoEngine uci id name pseudoEngine 0.1 author johnRolandPenner option name UCI_EngineAbout type string default pseudoEngine 0.2 by rdp uciok isready readyok go info depth 0 score cp -2 time 10 nodes 26 nps 777 pv e7e6 bestmove e7e5 go info depth 1 score cp -2 time 10 nodes 26 nps 777 pv e7e6 bestmove d7d5 go info depth 2 score cp -2 time 10 nodes 26 nps 777 pv e7e6 quit %