Building my dream chess computer Part IV: The image "Picochess V3"

2,253 views
Skip to first unread message

Dirk

unread,
Dec 10, 2020, 8:56:40 AM12/10/20
to PicoChess
… is unfortunately still under construction, sorry.


This will be the last thread regarding my personal version 3 of Picochess for my dream chess computer project and it is for all the brave & foolish people who really would like to check out my Picochess Version 3 on their own (risk ;-)

Version.jpeg

You can read the other parts of my dream computer project in these threads:

1. The hardware I use: https://groups.google.com/g/picochess/c/jC-EEwEd15M 

2. More about the features of the PicoChess V3 software: https://groups.google.com/g/picochess/c/HM2Dtzt6gic

3. More about my „enhanced uci engine“ concept which allows to easily integrate my PGN replay engine and online engines: https://groups.google.com/g/picochess/c/czHRxH9HLw4


Obviously there are some people who really seem to look forward to the enhancements of my Picochess 3 version so I thought I try to shorten the waiting time and share some information about the upcoming image.

Because of all the broad hints to my V3 I could not resist to ask the apple marketing team for support in order to keep the excitement alive ;-)))

MORE THAN ONE.jpg

https://www.dropbox.com/s/jbhkw74dlair3d2/PicoChess%20Personal%20Version%203.0.mp4?dl=0

This is the (probably incomplete) feature list of my V3 - actually I lost track of all the things I changed :-(  


############################################################################################

#-------------------------------------------------------------------------------------------

# Personal Picochess versions

#-------------------------------------------------------------------------------------------

# The following enhancements to the 0.9N version have been implemented:

#        0.  Version set to 1.0 (finally ;-)

#        1.  Voice announcements even if time < 1 minute

#        2.  Possibility to continue playing even if one player runs out of time

#        3.  Pre-Moves: Computer and user moves can be done in rapid sequence

#            (no need to wait for registration of computer move). Even the

#            own move could be played before computer move - it doesn't matter

#        4.  New flexible ponder mode: no more checks if valid moves, position can

#            be setup without any restrictions (of course it must be a legal one)

#            Makes analysis and playing differenet variants much easier

#        5.  Remote mode working again (without room handling, see menue.py)

#

#-------------------------------------------------------------------------------------------

#        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. Added possibility to change voice volume via menu and picochess.ini

#

#-------------------------------------------------------------------------------------------

#        16. 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, still in early beta and not released yet)

#        18. (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!?)

#        19. 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)

#        20. 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!)

#        21. 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)

#        22. 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 ;-)

#        23. 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)

#        24. Support for correct remaining game times for continued games from version 2 (finally!)

#        25. 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)

#        26. 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 moves in g1 = 90 minutes, I = 0 seconds increment and rest of the game in g2 = 30 minutes)

#            **************

#            * Important: *

#            **************

#            for this a python-chess bug in 22.1 version must have been fixed to support the

#            movestogo go command option correctly!

#            If you have a higher python version look there (eg. 3.7 on BUSTER)

#            (in file /usr/local/lib/python3.7/dist-packages/chess/uci.py:

#             line 949  original:   if movestogo is not None and movestogo > 0:

#                       changed to: if movestogo is not None and int(movestogo) > 0:

#             That was not so easy to figure out...)

#        32. Possibility to directly play an alternative move for the engine on the board after the engine move

#            has been displayed in NORMAL mode (like in TRAINING mode or the DGT CENTAUR chess computer)

#            (setting in menu and config para)

#        33. Menu for saving, reading and continuing a game from pgn files (yes, finally!)

#            *** IMPORTANT ***

#            In order to load and continue a saved game you will need to use the webserver in order to set up

#            the correct starting position of the game. For this you must open the webserver page BEFORE

#            you read and restore the game or if not just use the sync button!

#        34. Display of the book opening name(s) (function of the PicoTutor)

#        35. New time control setting: Support of a specific max. search depth (with a fixed

#            countdown movetime of 11:11 (unfortunately counting up the clock is not possible)

#        36. Support of written game comments like it used to be in Boris or Sargon 2.5 MGS old chess computers

#        37. Display of pgn event, players & result when loading an existing game

#        38. Enhancements of REV2 and webserver display of moves/evaluation/depth/score

#        39. Display of „new position“ message in case of analysis mode and user sets up

#            a new position instead of playing an legal move (or in case he plays an illegal

#            move which is seen as a new position)

#        40. Removed the use of vorbis ogg player because of audio play conflicts with sound from

#            mame chess engines in picotalker.py and OS update problems and missing start/stop/pause

#            functions(now pygame.mixer is used instead), see <https://www.pygame.org/docs/ref/mixer.html>

#            install additional lib via: "sudo apt-get install python3-pygame"

#        50. Three new voices (one with commentary): Daniel (eng.), Boris (eng. with commentary)

#            and Gust (german). Additinal voice samples (eng./german) for the new picochess V3.0

#            feature which can be put additionally in all existing voice folders

#        51. Specific 'set pieces' sound (no voice) so you hear when something wrong with the board position

#        52. Set opponent pgn player to 'Player B' instead of engine name and user name ro 'Player A'

#            in case of 'Observe Mode'

#        53. No more searchmoves in UCI 'go' command for the engine in case normal moves (exception:

#            Alternative moves), otherwise this might cause problems with the use of internal

#            engine books etc.(thanks to Rasmus for the hint)

#        54. BugFix for Buster: Change of voice volume working again (big thanks to Wilhelm!)

#        55. New (Fischer) "simulated" median move time levels: 5s, 10s, 15s, 20s, 30s, 60s, 90s

#            (thanks to the schachcomputer.info Forum for this idea!)

#        56. New "favorite engines" options: It is nice to have all 60 and more engines installed

#            but it is a pain to select one out of these many engines...

#            => new Favorite menu to keep your main and most often used engine separately.

#               just put your favorite engines into the favorite.ini file liek you would do for the

#               main engine list in engine.ini and put it in the correct egine directory - that's it

#               *** IMPORTANT ***

#               Engines in favorite.ini must also appear in engines.ini!!!

#        57. BugFix: Continue game/load saved game and play in opposite board direction fixed

#        58. Support of engine subfolders: you can now organize your engines in subfolders

#            within the main engine folder (just specify the subfolder path in engines.ini in

#            in front of the filename eg. [MAME/mm5] where MAME is a subfolder within the armv7l

#            folder (thanks to Wilhelm for supporting the correct engine startup loading procedure!)

#        59. Fix for the strange clock times reset "bug" when playing without a clock with just a board,

#            PI and the webserver. With the voice move announcements of the webserver in V3.0 we even

#            don't have to look at the webserver screen when playing... (thanks to Marcel Swidde for

#            the fix in the picochess google groups forum)

#        60. Position correction message after the "Set pieces" error message occurs the second time:

#            assuming that you are lost and don't know where to put the piece to its correct position,

#            picochess will tell you what is wrong and how to correct (if you have your PI hooked up

#            into your WLAN you could just check the correct position with the webserver board display

#            by just pressing the Sync button of the webserver).

#            Picochess will stop the clocks and check its internal game position against the external

#            DGT board position and will display two kind of correction messages:

#            - Put w N f3 (=> put white night on f3)

#            - Clear h5 (=> remove piece from h5)

#            This will continue as long as the correct position has been set up.

#

############################################################################################



Dirk

unread,
Dec 10, 2020, 11:41:35 AM12/10/20
to PicoChess

FAQs, Tipps & Tricks

1. As there is no dedicated manual for my V3 version please read about the features in my above mentioned threads. I will just put my 3 part thread forum description into a pdf/ePub format, you will find these (as well as all other documents) in the manual folder of the main picochess directory

2. So what’s in this image? The V3 image will be based on Marcels picochess 10 image (see https://groups.google.com/g/picochess/c/hvBMzyGwKOA thanks to Marcel for this) which means you have a Desktop OS and also a samba and VNC server preinstalled (Henri will like this ;-). I have testet the VNC connection with the TigerVNC Viewer for Mac because the internal VNC client of macOS did not work for that. 

Screenshot_2020-12-03 12.22.12_f5OlA7.jpg


Bluetooth and WLAN are of course activated - you just have to set your home SSID and password. I myself do this directly after I flashed the image to the sd card by copying my wpa_supplicant.conf file with my win info into the main boot directory. The wpa_spplicant.conf file should look like this (for Germany DE as country)

country=DE

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

network={

ssid="WLAN NAME"

psk="PASSWORT"

key_mgmt=WPA-PSK

3. Compressed image size is about 7,5 GB and uncompressed it will fit on a 16GB sd card. Unfortunately it won’t fit on a 8GB card. Keep in mind that different manufacturers could have small differences in sd card sizes so eventually you must use an even bigger card when you get a warning when trying to write the image.  As some of my enhanced uci engines use a file transfer for communication the faster the sd card the better.

4. I will test the images on a DGTP with PI3B+ inside, on a standalone PI3 and PI4 all connected to a DGT eBoard and the Revelation II. 

5. The engines: Newest versions of all the standard engines including stockfish 12 (greetings to Peter ;-), updated NNUE engines (again big thanks to Al), all historic engines from the paper engines of Alan Turing and SOMA up to one of the first chess programs running on a real IBM computer Bernstein (thanks to Martin, see https://github.com/mdoege/PyTuroChamp ). Mame is preinstalled, see below. Some more python and lua script engines like the original Sargon 1 program and my own engines: PGN Replay and FICS Online engine (yes I decided to include my FICS engine despite the time syncing issues. The lichess engine has more problems and I need some help from some python experts I guess). 

6. Voices: New voices for supporting all new V3 features (sorry only in German and English) but the new feature samples are added to every English and German existing voice. Also some voices with basic commentary like GLaDOS (thanks to Jon in this forum!) or my BORIS or Dimitri voice (try Dimitri with a quick online game - that’s fun)

7. Regrading the DGTPI button and the two queens handling )to switch off picochess: This has slightly changed so that standby mode with bluetooth reconnection is possible: Pressing the button the first time when Picochess runs will shutdown the PI but the display stays on. Just wait until the computer connection icon vanishes and press the button a second time to switch off the display. Now the DGTPI is in standby mode. Pressing the button a third time will startup the PI again and bluetooth connection should be successful. So you don’t have to cut the power supply for a successful reboot and bluetooth reconnection. 

Screenshot_2020-12-03 13.17.53_skzjur.png

8. Engine handling: engines.ini MUST consist of all existing engines. Your favorite engines of the engines.ini should be defined additionally in favorites.ini. These will appear in a separate „Favorites“ menu to give faster access to you most used engines (I have created an example based on the engines of this image). You can’t add or delete engines in the favorites menu via the clock buttons, you must edit the favorites.ini file like an engine.ini file - sorry Henry ;-) I for myself just copy the most interesting engines for me from engines.ini into favorites.ini - that’s it

9. This image includes the most current mame/mess version 0225 and all needed libraries/packages, engine scripts and uci files for the emulated chess computers. You only have to put the roms of the chess computers you own(!) into the corresponding roms directory of mame installation: /opt/pico-chess/engines/mame_emulation. Roms must always match to the used mame version - so if you have problem with a rom your are most probable using wrong version of the rom which is not compatible to the mame version. The mame engine uci files consist of the emulated chess computer levels plus the time control settings for picochess so that the picochess time will automatically set to the corresponding level (thanks to Al for defining all these). After adding the roms you must add the corresponding engine.ini (and evtl. favorites.ini). I have included a engine_mame.ini from where you can copy the necessary entries

10. The new feature „position correction message“ will be activated when the „set pieces“ message occurs a second time (not before this happens

11. Opening books are automatically ignored for mame and online engines, all pico tutor features (watcher, coach) will be switched off for online chess

12. The new tournament and search depth levels only work if the engine does support these uci commands.

13. Modifications to existing package were done in order to make my V3 run: python-chess for correct support of tournaments levels, ssh communication for correct windows remote engines 

14. Almost all new V3 features can be changed via the clock menu - just click you throw the menu to see all possible settings etc eg. if you don’t like the display of the engines name after starting a new game (or startup) switch it off within the system display menu.  

15. The read game option is only for reading a saved game in order to continue ist, not in order to replay it 

16. The new PGN engine can be used to replay a game which has to be specified in the uci settings. You will have to edit these uci settings for new games or if you want to delete the examples I have added - sorry Henri ;-) By default there are already entries for the game slots 1-3, the last game and all (played) games. If ether are more than one game in a pgn file you can define the planning sequence of the games (up/down/by chance), if you just want to replay it or if you would like to guess the next move for one side. Furthermore you can specify an audio file (start/stop with pause clock button) the thinking time for the analysis engine which will calculate a move hint and evaluation (check these by using the normal buttons for this). Check out the uci parameter in my examples and you will know how this works. German users should have a look at the Hoerspiel (I liked it very much) and English spoken users at Al’s game/commentary for this Kasparov game

17. FICS Online engine: By default you can start playing right away as guest. For a rated game or being able to play versus a friend you will have to create a (new) user on the FICS platform (I would suggest not to use your existing one for  playing with the board) and enter your username and password to the corresponding uci [MatchFriend] settings of the fics engine (fics.uci) - sorry Henry ;-). If you want to challenge a friend add the correspond settings to the uci file, for waiting to be challenged by a friend add the [wait4friend] settings, see the default examples in the existing fics.uci file. You can easily try the wait4friend option by manually login into https://chess.mobialia.com/#run (a GUI for the FICS server) as guest and with picochess as your eBoard user by choosing the corresponding wait4friend level setting of the FICS engine (after you have updated the uci file with your eBoard user of course). Now picochess is waiting for a challenge and you can do this as guest in the mobialia Web app by challenging your eBoard user.

… to be continued.




Adrian Ratiu

unread,
Dec 11, 2020, 11:44:35 PM12/11/20
to PicoChess
Hi Dirk,

Just want to say thank you and remark how impressive your work is. I'm a newcomer to this community and have been using an image Henri (or Al ?) uploaded with picochess 2.01 + Debian Buster and Stockfish 12 on a DGT-PI - it's been beating me to a pulp but I really like its playing style :) Eagerly waiting to test your v3 enhancements, though I'm still getting used to the SW/HW as a whole as of now.

One word of advice if you permit me: Given all the work you did and the clear engagement  & community traction on your personal version, I think it's very fair to call it a fork of picochess and give it its own project name and website - it is well deserved and in the future it will diverge even more from picochess - nothing fancy required, you can just dump all the above info from your posts in a markdown formated document on https://pages.github.com/ and voila: you have nice looking a website for your cool project for all time! :D Would be a pity having this awesomeness lost in mailing list history, you could just post on the group ML when you add a new section to the markdown document website, like a new blog post or news item.

Cheers,
Adrian

Shivkumar Shivaji

unread,
Dec 12, 2020, 12:40:56 AM12/12/20
to pico...@googlegroups.com
I think this can also be part of the regular Picochess itself, no fork needed! We can update the site etc if Dirk is willing. Impressive work!

Shiv



--
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/picochess/a7a3f734-8716-4e0d-b1da-c615db7ecafbn%40googlegroups.com.

Dirk

unread,
Dec 12, 2020, 8:11:33 AM12/12/20
to PicoChess

@Adrain: Thanks for your suggestions but with this image I will close the „picochess development“ chapter for me and move on… (that’s does not mean I won’t use Picochess and my DGT hardware anymore - quite the opposite!)

@Shiv: Thanks for welcome my changes but as I have stated several times before I really think that my code quality is too bad for this (really: I almost can’’t understand my own code anymore  when I haven’t looked at it for a longer time). But as the code is no secret anybody can use it, improve it and push to the official repository or whatever… I won’t do this.

If I can more or less fix the big time syncing issues in my lichess client, I will do one more update for this - but that’s it.

Dirk

unread,
Dec 12, 2020, 8:17:57 AM12/12/20
to PicoChess

Always late but (hopefully) always great ;-)

Starting with an almost fresh new image for my V3 takes longer than expected. These are the things I had to do in addition to the standard Picochess set-up (see the Picochess 09N documentation) for my V3 version and I almost forgot them because I did them long time ago on my system:

  • install audio lib pygame: sudo apt-get install python3-pygame
  • Install telnet: sudo apt-get install telnet (don’t know if this is already installed by default)
  • BERSERK: sudo pip3 install berserk (evtl. for the lichess client)
  • MAME:  set Memory Split Factor >= 64GB
  • Mame: install the  packages  needed: sudo apt-get install git build-essential libsdl2-dev libsdl2-ttf-dev libfontconfig-dev qt5-default
  • Modification for the windows ssh comunication thanks to help of the community: I removed spur and paramiko: sudo pip3 uninstall spursudo pip3 uninstall paramiko, then updated them to their latest versions (spur-0.3.21 and paramiko-2.7.1): sudo pip3 install spur,sudo pip3 install paramiko, I then renamed /usr/local/lib/python3.7/dist-packages/spur/ssh.py as ssh.py0321 and placed the version with windows support (as suggested by Hasnul - thanks!) from the spur folder here: https://github.com/tfromme/spur.py 
  • python-chess bugfix modification for tournament  time controls:

Python Chess is installed on my system: /usr/local/lib/python3.7/dist-packages/chess

in file uci.py (for tournament setting):

def go

Bug fix:

if movestogo is not None and int(movestogo) > 0:

Instead of

if movestogo is not None and movestogo > 0:


We are now roughly testing the image which will take some time… (it’s almost like waiting for x-mas, isn’t it?  ;-)

prepare_v3.jpeg

https://www.dropbox.com/s/fchldsa2aekkwzk/preparing_v3_image.MOV?dl=0

Dirk

unread,
Dec 12, 2020, 12:57:10 PM12/12/20
to PicoChess
th.jpeg


This V3 image is based on my V1 and V2.01 forks of the last official Picochess V09N version, now running on RaspianOS32 with newest OS update.

Use the upcoming image at your own risk as I don’t know if these images will really run on all your device without any problems.

I am (still) a python programming beginner and my V3 definitely still contains several bugs which may or may not occur with your set up - so keep that in mind. The software quality of my V3 enhancement is definitely not the best (lots of global variables, bad software structure etc.) but it is the best I could do and as nobody else tried it I just did it. Maybe some ideas of my code will find its way back into an updated later „official“ version of the main picochess repository…

I don’t offer any guarantee or support for this version - so if you don’t like something or something does not work for you or you would expect: just fix it, yourself or use a different image/version - Picochess V09N still works fine


BIG THANK YOU…

This Version would not be possible without the great work of the picochess inventors, all developers and the great community which made all this possible - thank you guys!

After all these years I am still impressed of what has been created with such a small computer and only a chess clock and a chess board, incredible.

Big thanks to Al & Wilhelm for endless hours of testing and using my V3 in their daily chess life.

Special thanks to Al for providing a fresh compile of a really fine selection of the most interesting engines (at least in my opinion) and all the mame uci files with detailed automatic time settings for picochess (a new V3 feature).

The mame emulation of the old chess computers wouldn’t be possible without the mame dev team (esp. „hap“)“ and all the lua scripts (what an endless work) which provide an UCI wrapper for our chess computer so that we can against them with Picochess (thanks to Sandro Ronco and Franz with his CBEmu project and all the help I got from Franz!)


Observations so far:

a) When I tested the images I  had to boot initially twice before the clock display was ok - don’t know why this happened but after the second boot it was alright each time I started Picochess again

b) I had no problems with bluetooth connection to my eboard or Rev II but Al had to use the bluetoothctl tool to pair and trust the connection to his Rev2 initially for some reason…

c) I don’t know if I really like the new shutdown behavior: pressing the bottom button or putting the two white queens beside each other ) will shutdown the PI but no longer the display of the DGTPI. For that we have to press the bottom button a second time. Then the PI can be restarted with successful bluetooth reconnection.Before this change the Pi and the display have been shut down/off with the first button press/putting the queens beside each other but it was not possible to restart and reconnect via bluetooth without taking the PI from the power supply.

Maybe I will change it later in an update (or someone else) - what do you think?

d) I have activated almost all new V3 features so that you will easily see what might be new ;-)   You can switch off and customize almost all options via the clock menu 

e) The image files are about 8 GB in size zip-compressed each to download but will fit only on a at least 16 GB card.


Al was so kind to provide both images for the picochess community in his dropbox account (thank you so much for all, buddy) :

DGTPI / DIY DGTPI (preferred for V3)

IMG_0100 (1).jpeg

PicoChesssV3_DGTPI.zip
https://www.dropbox.com/s/bdplysz6ix6sz0d/PicoChesssV3_DGTPI.zip?dl=0


Non DGTPI (although this only makes sense in combination with a Revelation II because of the enhanced display of 11 characters which you otherwise miss)

IMG_4933 (1).jpeg

PicoChesssV3_NonDGTPI.zip
https://www.dropbox.com/s/e1syzpd0xdikpam/PicoChesssV3_NonDGTPI.zip?dl=0


Enjoy (hopefully)!

Dirk

IMG_0084.jpeg

(this last picture is for Al ;-)

Shivkumar Shivaji

unread,
Dec 12, 2020, 12:59:06 PM12/12/20
to pico...@googlegroups.com
Hi Dirk,

What we can do if you are not potentially happy with your code quality etc, is to put the code in a branch of picochess possibly. Up to you :)

Thanks for your great contributions!, Shiv

RandyR

unread,
Dec 12, 2020, 1:09:06 PM12/12/20
to PicoChess
Very exciting, Dirk. Thank you for sharing your work! And I thought Christmas was still a couple weeks away. :^)

And thanks, Al, for hosting the image and all your contributions the project.

Randy

Luigi Vogliobene

unread,
Dec 12, 2020, 1:41:06 PM12/12/20
to PicoChess
Thank you so much, Dirk for sharing you work.
Thank you Al, for hosting the images and your contribution to this project.
Luigi

Henri

unread,
Dec 12, 2020, 2:48:49 PM12/12/20
to PicoChess
Thank you Dirk for Picochess v.3! And thanks to you too Al!
What a lovely gift for X-Mas!
Henri

Op zaterdag 12 december 2020 om 19:41:06 UTC+1 schreef lvogl...@gmail.com:

Kiko Gomez

unread,
Dec 12, 2020, 2:48:58 PM12/12/20
to PicoChess
Thank you Dirk, Al and everybody who help on this development, at least something really good in this f***ing year, this is a really good Christmas gift.

BR
Kiko

Etienne

unread,
Dec 12, 2020, 4:03:29 PM12/12/20
to PicoChess
Thank you Dirk (and team) for sharing your dream and passion! so excited to see the time set up for MAMEs and so much more to discover.....Picohess brought to new heights!
Take care, Etienne

Luigi Vogliobene

unread,
Dec 12, 2020, 6:50:05 PM12/12/20
to PicoChess
Hi Dirk, testing your V3 version of picochess (non-DGTPi image, USB DGT eboard, RPi4 & DGT3000) I noticed that picochess RPI-LCD webserver do not work anymore (Midori browser). I know that voices works only on Windows or Android systems but chessboard and move panel do not show anything more on the RPI4 HDMI attached LCD panel. I missed something ?
Thank you.
Luigi 

IMG_20201213_004337.jpg

Dirk

unread,
Dec 12, 2020, 7:04:49 PM12/12/20
to PicoChess
Hi Luigi,

I have never used  the Picochess RPI-LCD webbrowser, sorry.

Calling th Webserver from a different OS like iOS, macOS, Windows and Android works fine - I have not changed any code there except for getting rid of a button and added voices.

Could be that the DesktopOS which might interfere with the Midori browser but actually I have no idea, sorry.

As I took Marcel image as a base for one: Have you tried Marcels 10 image before?

This how it  still)looks like on a iPadOS:

IMG_0080.jpeg
 
Dirk

Scally

unread,
Dec 13, 2020, 3:47:04 AM12/13/20
to PicoChess
Hi Luigi,

I don’t know how you call your screen, but the Webserver address will be different than before plus I noticed during testing that Dirk added :8080 to the end.

So the Webserver address will be similar to 192.168.1.191:8080  (the last 3 digits 191 could be different, your clock or browsing your router ip admin address will tell you)


Cheers,

Al.

Luigi Vogliobene

unread,
Dec 13, 2020, 4:37:47 AM12/13/20
to PicoChess
Hi Dirk, Al,
thank you for your answers, I finally solved removing Midori browser and installing Firefox-esr browser. Now it works as before.
Have a nice day and again, thank you for this fantastic V3 image.
Regards.
Luigi

Dirk

unread,
Dec 13, 2020, 8:11:36 AM12/13/20
to PicoChess
For some reason the voice samples for the languages other than English and German got corrupted in this image - sorry for that.

If you know how to ssh logon to your system your could fix this with:

sudo cp -r /opt/picochess_v09N/talker/voices/nl  /opt/picochess_v30/talker/voices/

sudo cp -r /opt/picochess_v09N/talker/voices/es  /opt/picochess_v30/talker/voices/

sudo cp -r /opt/picochess_v09N/talker/voices/fr  /opt/picochess_v30/talker/voices/

sudo cp -r /opt/picochess_v09N/talker/voices/it  /opt/picochess_v30/talker/voices/


But new samples which I have created for V3 will be missing as I haven't created them.

Dirk

Dirk

unread,
Dec 13, 2020, 8:34:38 AM12/13/20
to PicoChess
Voice update for all non German and non English speaking users (besides the above mentioned manual update)

If you want to know which voice samples in German and English I have created for my V3, you can have a look at this folder and download it:


You could now either
a) add eg the english files Ito your voice folder - then you have at least something for the new features in your language or
b) if you would also like to contribute something for the community create these missing voice samples for your language.


I used the following online text-to-speech services (long time ago so I don't know if they still offer the service for free etc.):


Englisch:
ENGLISH(UK) Daniel

German:
GERMAN Gust


Boris voices 


Would be cool if someone really would create these - we could then create a new images with the fixed voices and the new additions...

Dirk

Luigi Vogliobene

unread,
Dec 13, 2020, 10:35:59 AM12/13/20
to PicoChess
Hi Dirk, now all is OK. Thank you
Luigi

Luigi Vogliobene

unread,
Dec 13, 2020, 10:53:21 AM12/13/20
to PicoChess
Hi Dirk, I just downloaded the en talker system audio files, I am willing to provide the .ogg files translated into Italian language if you agree.
Luigi

Dirk

unread,
Dec 13, 2020, 11:39:41 AM12/13/20
to PicoChess
Hi Luigi,

perfect - you are welcome and all Italian pico users who try V3 will be happy ;-)


I will add these to a new V3 image.


Beside of the voices also the text translation are missing in these languages.

So users who would like to enhance the text messages for their language are also welcome (at the moment the English texts will be displayed).

The translations are in the dgt subfolder of the main picochess directory: /opt/picochess/dgt/translate.py

I have attached the file here  just in case someone doesn't not know how to find it:

Dirk
translate.py

Henri

unread,
Dec 13, 2020, 11:44:27 AM12/13/20
to PicoChess
Hi Dirk and others,

I will do and try the same in Dutch! Oh, and I adjusted some uci files and engines.ini to make the display even more compatible with an 8-digit standalone Pi. Dirk, you will find the file here: https://mega.nz/file/LUNF3CpL#8AvC8Apw1BJQn0NeRd1iluK4YqmviQj4bmr0XUwlvb4

Henri



Op zondag 13 december 2020 om 17:39:41 UTC+1 schreef Dirk:

Dirk

unread,
Dec 13, 2020, 12:08:36 PM12/13/20
to PicoChess
Cool - thanks Henri.

(Although we shouldn’t encourage people to use a stand alone pi with picochess and v3 ;-)

Dirk

Luigi Vogliobene

unread,
Dec 14, 2020, 6:12:55 AM12/14/20
to PicoChess
Hi Dirk,
attached you will find the IT talker system audio ogg files (folder 'it' compressed in .zip format).
Have a nice day.
Luigi

it.zip

Dirk

unread,
Dec 14, 2020, 7:39:40 AM12/14/20
to PicoChess
Thanks Luigi, I will add these to both Italian voices...
Dirk

Dirk

unread,
Dec 14, 2020, 7:43:55 AM12/14/20
to 'Dirk' via PicoChess
Great - many thanks!
I will add these to both Italian voices.
Dirk

--
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.

Dirk

unread,
Dec 14, 2020, 9:22:45 AM12/14/20
to PicoChess
Hi Luigi (and all other potential voice creators;-),

I had to resample your files to the correct frequency for picochess: 44100Hz (your samples were in 48000Hz which is then played way too fast in picochess - but it sounds funny ;-)

So audio samples for picochess should be...

- mono
- 44100 Hz
- ogg format

Dirk

Henri

unread,
Dec 14, 2020, 9:39:58 AM12/14/20
to PicoChess
Hi Dirk,

And here are the results of the Dutch jury (in 44100Hz, just lucky):

Henri

Op maandag 14 december 2020 om 15:22:45 UTC+1 schreef Dirk:

Dirk

unread,
Dec 14, 2020, 10:49:30 AM12/14/20
to PicoChess
Just added the dutch results, thanks Henri ;-)

One more thing:
I forgot to include some more samples, sorry.

So Luigi and Henri if you also would like to create the missing ones - you are welcome (otherwise I just take the English ones for your languages...)

I have put the missing samples in my V3 talker file folder and added them to de and en:


The samples are for moves the PicoTutor announces for a hint move or a threat (numbers from 1-15, letters a-h, special moves).

They all start with t_ (for tutor) as we have the same samples in the language itself 

Monosnap 2020-12-14 16-40-49.png

Dirk

Henri

unread,
Dec 14, 2020, 11:41:30 AM12/14/20
to PicoChess
Hi Dirk,

Will do it all tonight (I hope) ;)

Henri

Op maandag 14 december 2020 om 16:49:30 UTC+1 schreef Dirk:

Dirk

unread,
Dec 14, 2020, 11:50:00 AM12/14/20
to PicoChess
As Luigi suggested now have FireFox ESR installed, so that users who would like to use webserver directly on the PI can use it via this browser.

Dirkpi's X desktop (picochess:1) - TigerVNC 2020-12-14 17-43-50.png

After I got the missing voice samples I will push an updated image to Al...

Dirk

Luigi Vogliobene

unread,
Dec 14, 2020, 4:33:42 PM12/14/20
to PicoChess
Hi Dirk, I am sorry, you right, my Adobe Audition has 48000Hz by default ...
Thank you
Luigi

Luigi Vogliobene

unread,
Dec 14, 2020, 4:39:51 PM12/14/20
to PicoChess
Hi Dirk, I will do it as soon as possible.
Luigi

Henri

unread,
Dec 14, 2020, 5:07:30 PM12/14/20
to PicoChess
Hi Dirk, here are (hopefully!) all files for the voice 'NL-Henri'.
Henri


Op maandag 14 december 2020 om 22:39:51 UTC+1 schreef lvogl...@gmail.com:

Dirk

unread,
Dec 14, 2020, 6:20:48 PM12/14/20
to 'Dirk' via PicoChess
Fantastic, Henri - you have  created all samples including all V3 ones for a new voice :-)

I will create and add the new N-Henri voice to Picochess!

Thanks 
Dirk

Message has been deleted

Luigi Vogliobene

unread,
Dec 15, 2020, 4:56:18 AM12/15/20
to PicoChess

Hi Dirk,
attached you will find, in .zip format, the full updated IT talker (I also do a resample at 44100Hz of the previous erratics 48000Hz files + new t_* files + v.09 files).
Luigi 
it.zip

Henri

unread,
Dec 15, 2020, 9:10:21 AM12/15/20
to PicoChess
Hi Dirk,

Of course I tried out my voice (o vanity!), some remarks:
- One file is missing: tackback.ogg, but you can take t_takeback.ogg for that one.
- I don't get the greeting 'Picochess' at startup.
- When the tutor sees a mate, the voice 'just' says the movenumber, f.i. 'Two', instead of 'mate in Two'. Is there a file missing?

Thanks,
Henri

Op dinsdag 15 december 2020 om 00:20:48 UTC+1 schreef Dirk:

Dirk

unread,
Dec 15, 2020, 10:29:37 AM12/15/20
to PicoChess
Hi Henri,

1. ok, I take t_takebagg.ogg for the missing takeback.ogg
2. Picochess was one of the old existing samples - you have created one but I think with wrong name: it's picoChess.ogg instead of picochess.ogg: I will correct your sample than it should work
3. You are right: Obviously OI missed some of the first new picotutor messages (eg picotutor_player_mate  and Picochess tutor_pico_mate - sorry for that. I have updated the englisch new files for that on in my google_drive so you can check this and evtl. create the missing one - sorry for that.

@Luigi: Please also have a look at the google drive en folder again: There are now hopefully all in. Otherwise I just use the English ones for that.


:Users:molli:Google Drive:talker_system_audio_files_V30:en 2020-12-15 16-21-31.png

Dirk

Dirk

unread,
Dec 15, 2020, 10:32:14 AM12/15/20
to PicoChess
You can always do a second check against the eg. English Christina voice of the image: There are all existing samples..
Dirk

Scally

unread,
Dec 15, 2020, 11:15:08 AM12/15/20
to PicoChess
Or the Al voice 🤣

Al.

Luigi Vogliobene

unread,
Dec 15, 2020, 1:15:39 PM12/15/20
to PicoChess
@Dirk Here :
you will find the final IT talker files. I matched with Al EN talker, now 147 files both languages.
Luigi

Luigi Vogliobene

unread,
Dec 15, 2020, 1:17:07 PM12/15/20
to PicoChess
As I done, Al 

Henri

unread,
Dec 15, 2020, 4:54:20 PM12/15/20
to PicoChess
Hi Dirk,

And here is the complete Henri-voiceset, 146 files in wav and ogg. Can't find number 147! ;)

Henri

Op dinsdag 15 december 2020 om 19:17:07 UTC+1 schreef lvogl...@gmail.com:

Luigi Vogliobene

unread,
Dec 16, 2020, 5:25:33 AM12/16/20
to PicoChess
Hi Dirk,
I made the italian translation directly to the translate.py source pyton file. You will find it attached.
Luigi

Il giorno domenica 13 dicembre 2020 alle 17:39:41 UTC+1 Dirk ha scritto:
translate.py

Dirk

unread,
Dec 16, 2020, 5:29:32 AM12/16/20
to PicoChess
Thanks Luigi &  Henri,

I will add your voices and the enhanced translate.py file to the updated image...

Dirk

Dirk

unread,
Dec 17, 2020, 8:59:17 AM12/17/20
to PicoChess
First image update and updated image links here:

https://groups.google.com/g/picochess/c/cDD_a5a9MZs

Dirk
IMG_0019 (1).jpeg

Dirk

unread,
Dec 22, 2020, 12:12:20 PM12/22/20
to PicoChess
There have been a few issues with my V3 image which have been fixed by an image from Randy fro my V3.

Randy used a fresh RaspianOS as a base image and added all things needed for my V3.

Furthermore together with Lucas (thank you both!) he found a solution for the shutdown problem (switching off the display)and put an enhanced version of the Rodent 4 engine into this image, really cool!


So in case you have problems with my image try this one of his DGTPI shutdown thread:



Image File:


Dirk

IMG_0020.jpeg
Reply all
Reply to author
Forward
0 new messages