Skip to content

Releases: tosca07/picochess

V3.3.0 BugFix release

03 May 12:12
21ed4a4
Compare
Choose a tag to compare

just some minor bugfixes and enhancements

V3.3 64bit Release

21 May 15:50
7094d36
Compare
Choose a tag to compare
  • Finally 64 bit support thanks to Ghislain and Randy
  • new menu option: leave PicoChess and return to desktop (for playing online on chess.com or lichess.org via chess connect browser plugin)
  • thanks to Gerhard for adding iChessOne and refactoring the eBoard code
  • thanks to Randy for the volume change, no-eBoard workaround and some other adjustments

Final Bug-Fix

27 Aug 08:49
9d2b864
Compare
Choose a tag to compare

Some more bug fixes for v3.2

Retro-BugFix-Release

30 May 11:01
e46727c
Compare
Choose a tag to compare

Just a minor release because of some important bug fixes for the retro mode and web server display.

PicoChess Version 3.2 "Retro-Release"

15 May 15:14
e79423a
Compare
Choose a tag to compare

This release includes:

a) General features & bug fixes:

  • ability to specify the position of the clock (right/left) via menu and picochess.ini
  • Correct LED move directions in case of a rotated board

b) New mame (retro engine) features:

  • support of position setup
  • support of info display (evaluation/depth/current move engine is thinking on)
  • info display for engines having the position and/or info feature
  • support of displaying internal and external artwork in window or fullscreen mode

c) minor bug fixes

You will need additional files in order to make this work: the external artwork files from Luis, the slightly adjusted (for picochess) plugins from Franz/Dieter/Guido and new mame engine starting scripts for displaying the engines with graphics.

See PicoChess forum https://groups.google.com/g/picochess/c/oE0HZ5vHaDA

PicoChess Version 3.1

16 Mar 07:11
c8498be
Compare
Choose a tag to compare

PicoChess V3.1

  • big enhancements for the web server (esp. for PicoChessWeb but not only for that)
  • Support of different eboard types (DGT, Certabo, Chesslink, ChessNut) - this is so cool (thanks Gerhard)!
  • Different ini-files for retro, modern and favorite engines and corresponding menu entries
  • Support of Windows engines (via box86 & wine, not part of this repo)
  • Auto ELO feature for engines supporting the UCI ELO settings
  • Web themes: light, dark
  • RetroSpeed for mame engines via picochess.ini
  • local game and opening book database server which Gerhard added so that we now have this information again provided in the web server

Internal changes:

  • Unified sources for all devices (before we had different sources for the PicochessWeb version (most important for me)

  • Unified translation.py file (new "web_text" tag for longer texts) eg.:
    if text_id == 'pleasewait': entxt = Dgt.DISPLAY_TEXT(web_text='Reboot: please wait', large_text='please wait', medium_text='pls wait', small_text='wait ')

  • Unified engines.ini (new "web" tag for longer engine names), see attached retro.ini eg.:
    [mame/academy]
    name = Mephisto Academy
    small = academ
    medium = Academy
    large = Mep.Academy
    web = Mephisto Academy
    elo = 1980
    levels = 10
    ponder/brain = n

  • Lots of bug fixes (esp. for analysis mode, PGN information display in web server etc.)

  • New (for PicoChessWeb) and alternative (for DGTPI/DGT3000 users) Beep sample sounds instead of internal beeper. For this I have created a new voice „beeper“ which does not need a voice.ini entry (it is not a voice for announcing moves etc.) because it is activated via menu system -> sound -> „sample“). This voice folder must be put into the /picochess/talker/en/ folder and consists of different sound samples for various events (eg after computer move has been played etc. You can here some of these sounds in my last video for the no eboard feature).

  • New "auto" theme option according to sunrise/set and the possibility to change it in the menu

  • New no-eboard/web play only mode for playing without an attached eboard via the web server

  • Search nodes like search depth for NN strength restriction for eg. Leela (with node = 1 you can simulate the maia engine etc.)

  • Retro speed option is now in menu, automatic restart of the (mame-) engine but keep in mind that you have to start a new game after changing the retro speed because of this engine new start as we have no FEN position setup at the moment (so better change it before starting a new game)

  • PGN Replay/Analysis and Guessing Game engine

i) Correct PGN header information (player names, elo) for the current game in web server. Fully automatic replay, you can define the replay speed in the corresponding uci file by specifying a higher or lower thinking time for the analysis engine).
[AlphaZero1]
pgn_game_file = /opt/picochess/engines/pgn_engine/pgn_games/alphazero_stockfish_2018.pgn
pgn_audio_file = /opt/picochess/engines/pgn_engine/pgn_audio/AnnaRudolph_AlphaZeroStockfish.ogg
max_guess= 0
engine_path = /opt/picochess/engines/armv7l/a-stockf
think_time = 1

Pause of audio commentary with II button, pause of fully automatic replay of the game: lever button

ii) full support of guessing game functions when playing in no-eboard/Web Play mode (automatic take back of wrong guessed moves, etc.)

  • PicoTutor in no-eBoard/WebPlay“ mode

i) Get position evaluation by activating PicoCoach (again) because we can’t lift up and replace a piece (that’s the trigger for the tutor evaluation when playing with an eBoard).

ii) In emulation mode with retro/mame engines: support of automatic take back in case of a blunder (because we can’t take back moves the normal way in case of retro engines)

Picochess 3.0 Personal Edition

16 Dec 20:25
b15c620
Compare
Choose a tag to compare
  1. Version set to 3.0 (a really big one ;-)
    I think most of the enhancements only make sense running on a Revelation II (or at least
    a DGTPI with better display capabilities. Especially on a Revelation II it is really fun
    to read game comments or the opening name etc. while this is exhausting on a DGTPI and awful
    on a standalone DGT Clock with its 8 chars)
    Some features (like tournament control or PicoTutor) even wouldn't correctly work on stand
    alone clocks together with picochess because the display can not show the correct time control
    setting.
    Furthermore additional libraries must be installed, a bug must be fixed in the python-chess
    code itself(!) for the tournament control option and you need additional engines for some
    of the new feature (don't ask me where to get them or where you can get an image etc.)
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!! Keep in mind: I did these enhancements in this Personal Version for my own pleasure
    !!! in order to have fun & play with picochess on my Revelation 2 - so it might be not
    !!! your cup of tea...
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    17. Support for Online Engines
    - Switch to Online Mode if online engine is choosen (engine name starts with
    Prefix 'Online')
    - Time control settings are taken from the online server challenge and are
    applied automatically as current time control settings#
    - Clocks start after first white and black moves. After this the player's time already
    starts with the annoucement of the best move and no longer when
    the computer move has been done by the user (other than that no real sync with server
    times has been implemented)
    - Online decrement: In order to better "sync" picochess times with online server times#
    you can subtract X seconds after each own move from your remaining game time in
    picochess.ini, default value is 0.9s
    - additional online info messages (login, seeking, opponent name, game result)
    - new online seek in case of 'start new game' event
    - Online move is automatically played in case of white = online opponent and clock starts
    - last move is published to online engine in case of game ending to inform the online
    server
    - online player names in pgn file(s) instead of engine or pico user name only
    - Online engines won't be saved in picochess.ini as last engine
    - picochess.ini "Online decrement" parameter can be overwritten in online uci files via parameter
    OnlineDecrement (just add "[DEFAULT] OnlineDecrement = X"
    - still work in progress (don't ask me when they are ready to play...):
    - basic FICS online engine (for this TELNET must have been installed, default!?)
    - very basic lichess online engine (for this the BESERK package must have been installed)
  2. (Better) support for MAME emulated chess engines
    • requirement: new SDL libraries (probably different for BUSTER)
      and Q5 library must have been installed
    • newer mame/mess versions do need BUSTER!
    • longer startup time for mame engines necessary, voice/sound end messages from mame engine
      last ending move is published to emulator engine in case of game end for specific engines
    • "engine setup" message because of longer initializing phase of mame chess engines
    • support for pico timecontrol setting in uci file settings according to mame engine levels
      (just define the UCI parameter PicoTimeControl X Y Z in your level settings) and time is set
      automatically after choosing a level
    • When switching back to non mame engine time settings are reset to last setting before it has been
      eventually changed by the uci setting (default time setting can be defined in picochess.ini
      via parameter def-timectrl when having a mame engine as last engine after startup)
    • automatic reset of the original time control settings after choosing a non mame/mess engine
    • mame engine should not be saved as last used engine on a DGTPI because of possible clock problems when
      starting mame engine directly after boot (very strange maybe a sync problem with dgtpicom lib!?)
  3. Finally: practical support of remote engines and local engines at the same time(!)
    • IMPORTANT! For windows server access an update of the spur and paraminko packages and a
      modification of the spur package are necessary (ssh.py must be replaced from a different repository)
    • name in engine.ini must start with prefix 'remote_'
    • implemented via standard ssh connection, just add the remote login infos
      in the corresponding parameters of picochess.ini and your remote engine in engines.ini
      and make sure SSH server is running on your remote computer (default on MacOS)
  4. Automatic takeback mode (only for mame engines) in case of a blunder move with active PicoTutor
    (PicoWatcher must be switched on)
    • Normally taking back moves when using mame engine is not possible so this is a nice feature for
      beginners (like me ;-) who often play against mame engines.
    • only the last blunder move can be taken back when using mame (of course this restriction is not
      valid for other native uci engines!)
  5. Bugfix: Set correct (old) engine (name) in case of engine error (very important for
    new remote/online engines which sould easily fail if server is not available)
  6. Taking back moves: Now the next move which could be taken back is shown in display and
    in long notation format (good for old people like me ;-)
  7. After start up and new game events the current chosen engine is shown in the display
    (setting in display menu & config parameter in picochess.ini)
  8. Support for correct remaining game times for continued games from version 2 (finally!)
  9. Synthesized voice support for moves in WebServer (unfortunately works only in desktop
    browsers and in Android Firefox browser): Big thanks to Martin (author of the ingenious
    TuroChamp python engine) and deletion of the non working remote room button functionality
    Of course you can still use the remote play mode functionality (re)introduced since 2.0 and
    the new handling of remote engines)
  10. Replay of PGN games (semi automatic) via new engine
    • Semi automatic replay of saved pgn games with hint move/score evaluation by an analysis engine
      for a specific thinking period (time settings will be changed according to uci file and changed
      back automatically)
    • "Guess that move" game option for white or black (switch "guessing" sides by pressing the lever)
    • Additionally this pgn replay mode can be used to train opening books when setting
      an empty pgn file with name 'Book Test' and choosing a specific book in menu: just try and play
      a move you think belongs to the chosen book opening (makes more sense when you create specific books
      with a specific theme or famous player moves)
    • Furthermore an audio comment file for the pgn file can be specified and will be automatically
      played during the pgn game replay and can be manually started and stopped during the match
      (I did this because I have a (german) genious radio play "Nahrungsaufnahme während der Zeitnotphase"
      which is playing in real time during a tournament game. Now I can listen to the radio play and
      watch the game at the same time with picochess - how cool is that!?
    • PGN Replay engine settings won't be saved in picochess.ini as last engine
      27. Enhancement of supported tags in pgn file: opening eco code, pico remaining times, pico time
      control setting
      28. For online-, emulation- and pgn-mode: Automatically switch off opening books (setting "no book"
      as book option)
      29. Override pgn location from picochess.ini in case the parameter 'location' is set to
      something different than 'auto' (you can use this if you always get a wrong auto location).
      30. Basic chess tutor functionality (even in case the choosen engine does not support
      score & hint moves like almost all mame emulated engines) with the following 3
      functions (disabled in Online mode)
      a) Pico Watcher (checks your moves and returns ??, ?, !?, ?!, !, !!)
      You can change the control limits for the evalutations in file picotutor_constants.py
      b) Pico Coach (gives position score and move hint(s) - just lift a piece and put it back into
      the same position)
      c) Pico Opening Explorer (displays current opening name (alternative) independet of the
      used opening book
      31. Tournament time control settings:
      Possible time control settings in picochess v3.0:
      time = m, time = g i, time = n g i or time = n g1 i g2
      Examples:
      time = ... 7 (time per move, eg. m = 7 seconds)
      5 0 (game time, eg. Blitz g = 5 min. and 0 seconds increment)
      5 3 (game time g= 5 min. plus I = 3 sec. increment)
      Tournament time control settings: n moves in g1 minutes (plus I increment seconds) and rest
      of the game in g2 minutes
      time = ...
      new: 40 5 0 (n = 40 moves in g = 5 minutes)
      new: 40 5 3 ((n = 40 moves in g= 5 minutes with I = 3s Fischer inc.)
      new: 40 60 0 30 (n = 40 ...
Read more

Picochess 2.01 Personal Edition

14 Feb 20:32
b15c620
Compare
Choose a tag to compare
6.  Version set to 2.0 
7.  Framework for adding (more or less funny) speech comments based on
    various events
8.  Rolling display of time/score/depth/hintmove in Ponder On or Normal Mode
9.  Continue directly after start with an interrupted game if board still shows
    last position by reading the last games pgn file
10. New cool training mode with training options (with big thanks to Wilhelm!!!)
11. Configuration parameters for all 1.00/2.00 enhancements in picochess.ini
12. Various bug fixes (eg. pressing the outer buttons for quick restart
    instead of shutdown like it was intended, calc. error in evaluation)
    Again: big thanks to Wilhelm!
13. Renaming of the play modes! Now we have:
    New mode name                                         Old mode name
    a5 NORMAL (rolling info display off by default)       NORMAL
    b5 PONDER ON (rolling info display on by default)     BRAIN
    c5 MOVE HINT                                          ANALYSIS
    d5 EVAL.SCORE                                         KIBITZ
    e5 OBSERVE                                            OBSERVE
    f5 ANALYSIS (flexible option on by default)           PONDER
    g5 TRAINING (this is new in 2.00)                       -
    h5 REMOTE (working again from 1.00 on)                REMOTE
14. Version set to 2.01
15. Support of changing the voice volume via menu option and picochess.ini

Picochess Version 1.0 Personal Edition

12 Jan 19:17
5f7b168
Compare
Choose a tag to compare

Picochess 1.0 (personal edition)

Picochess V 0.9N with the following changes/enhancements:

additional opening books,
voice move announcements even if remaining time < 1 min.,
possibility to continue playing even after running out of time,
Pre-moves (no more waiting with own move until computer move has been fully done/registered; you can even play the computer and your move in wrong sequence finally)
Flexible Ponder Mode: No more validity checks for moves and the position can be set up without pressing any button (of course it must be a legal position). Picochess just scans the current position and will analyze it. Adding switch function to the lever in ponder mode: Change player's turn (white to move or black to move)
Remote play is now possible without entering a room/nickname: just switch to remote mode on on the clock/DGTPi and the opponent can enter his move via the webserver (if you forward the 8080 port in your router you can even play via internet). Switching sides is now also possible in remote mode: just press the lever.
If you don't want to replicate/replace the whole repository on your Pi and only if you are already on picochess version 0.9N, you only need to replace the following files in the picochess directory:

'picochess.py' in '/opt/picochess'
'utilities.py' in '/opt/picochess'
'menu.py' in '/opt/picochess/dgt'
'app.js' in '/opt/picochess/web/picocweb/static/js'
Unfortunately picochess (version 0.9N and this 1.0 version) is at the moment not compatible to python-chess version 24.0 and higher so don't upgrade python-chess. You even should stay with 22.1 version because of incompatibilties with web server display and elo engines.