github tosca07/picochess v3.4
PicoChess 3.4 ("Transformer-Release")

15 days ago

Aside from a few fixes and Gerhard’s new eBoard support (Tabutronic Spectrum - already in Randy’s current images), the main change in 3.4 is the added flexibility for restricting depth or nodes while keeping — or adapting — time control settings.

This is made possible via three new dummy UCI parameters (dummy because they’re not real engine parameters, but rather triggers for special PicoChess behavior):

  1. PicoTime – for our retro/MAME engines.
  2. Manual depth/node restriction via the time control menu – as before, you can set a specific depth or node limit manually. When you do this, PicoChess changes the time display to 111111 counting down (ideally it would count up to show actual time used, but that’s not supported yet).
  3. Indirect depth/node/time control via the dummy UCI parameters –
    • PicoTime adjusts PicoChess’s time control to match internal Retro engine time settings.
    • PicoDepth or PicoNode restrict strength (e.g. for neural network engines) while keeping the current time setting in place.
    • Even though the engine ignores the time setting in this case, you can still play according to it.

Some background information
The key difference is that UCI engine parameters only apply to the specific engine during its current run, while GO parameters (time, nodes, depth) are global across all engines in PicoChess. So if you set one, it applies everywhere.
This creates a small trap: if you set Node/Depth limits without changing the time control, that limit sticks around globally — easy to forget when switching engines, especially if the level name doesn’t make it obvious.

How we handle it now:

  1. Explicit Node/Depth via time control (same as before)
    • Time control is set to movetime 111111 (easy to spot).
    • Setting is stored in picochess.ini.
    • Works with any engine that supports it, without needing a pre-made UCI file.
    • Persists until you change time control.
  2. Implicit Node/Depth via dummy UCI parameters
    • If the UCI level file contains PicoTime (Retro), PicoNode, or PicoDepth, PicoChess adjusts the GO command automatically.
      • PicoTime → creates a new time control setting.
      • PicoNode / PicoDepth → keeps the current time setting but adds node/depth restriction.
    • No entry is written to picochess.ini (because these values are restored from UCI parameters at startup).
    • Switching to a “normal” engine without these parameters will:
      • For PicoTime: restore the previous time control.
      • For Node/Depth: remove them from the current time control so they only apply to that engine session.

Important remark:
The last chosen setting for time/node/depth (either manual via menu or implicitly via uci file and PicoTime/PicoNode/PicoDepth) will win and be valid for the uci GO command which is sent to the engine.

Don't miss a new picochess release

NewReleases is sending notifications on new releases.