Picochess Evolution to v3.0

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
Scally
Posts: 232
Joined: Thu Sep 28, 2017 9:34 pm
Location: Bermondsey, London
Full name: Alan Cooper

Picochess Evolution to v3.0

Post by Scally »

Hi all,

I have posted my first video on YouTube.

It’s a bit raw and has sound issues from my DGT Pi speaker which I had too low, but it shows some of the Engine types we now have on Picochess & the DGT Pi, including MAME engines.




Cheers,

Al.
User avatar
AdminX
Posts: 6339
Joined: Mon Mar 13, 2006 2:34 pm
Location: Acworth, GA

Re: Picochess Evolution to v3.0

Post by AdminX »

This is Awsome News, Did not know version 3 was out of Beta! I look forward to playing with it. I also enjoyed the video highlighting the new features. :D Thanks Much!
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
cpeters
Posts: 115
Joined: Wed Feb 17, 2021 7:44 pm
Full name: Christian Petersen

Re: Picochess Evolution to v3.0

Post by cpeters »

Hello Alan!

I don't understand. Are you referring to picochess v3* from there:

https://groups.google.com/g/picochess/c ... Scw4?pli=1
?

Another question: In your mess.zip there's this:

Code: Select all

mess: ELF 32-bit LSB executable, ARM, EABI5 version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=7f2a5c0085a1cebbf62bb421eef7ef02d03a4f61, with debug_info, not stripped
How did you compile it? (I'd like to use the splendid MESS-package from Franz under Linux too :-) ; standard mame22* is fine, but lacks massive features (time-controls/styles for the chessengine-plugin) but there are no diffs against mame floating around)

Greetings!
User avatar
Scally
Posts: 232
Joined: Thu Sep 28, 2017 9:34 pm
Location: Bermondsey, London
Full name: Alan Cooper

Re: Picochess Evolution to v3.0

Post by Scally »

Hi Christian,

Yes that’s the same Picochess v3, I have links in the description of my Video.

Up to MAME v0.225 I compiled mess on my RPi 4 with gcc8 using a little bash file I knocked up:

Code: Select all

 Al@RPi4-SSD:~/RPi4 $ cat bashmake.sh 
#!/bin/bash

echo "Start : " `date +"%Y%m%d-%T" ` >make.log
nohup make SUBTARGET=mess NOWERROR=1 REGENIE=1 -j5 &
#wait
#echo " Ends : " `date +"%Y%m%d-%T" ` >>make.log
echo "type 'll nohup.out' to see end time"
Al@RPi4-SSD:~/RPi4 $ 
Just before the release of MAME v0.226 they changed the way they referenced the LUA code within MAME, we use the old LUA code within Picochess so from then on I have to replicate their additions and compile it myself on a modded version of MAME 0.226 without the LUA changes. I now only compile MESS for the old chess computers not the whole of MESS as I used to, and strip the resulting MESS into a MESS0229a for example (current release).

As for time controls, we have coded it within PIcochess that when we select an Engine and then a level, that level selects the same time parameters within Picochess as the levels within the Engine selected.

For example, here in level 1 at 5s move, we are selecting Mephistop Academy at NORMAL 0:05 and selecting a PicoChess Time Control to match, so can immediately start a game knowing that time controls are set the same:

Code: Select all

Al@RPi4-SSD:/opt/picochess/engines/armv7l-MAME+v3 $ cat academy.uci 

[01-5s move]
level = NORMAL 0:05
PicoTimeControl = 5

[02-10s move]
level = NORMAL 0:10
PicoTimeControl = 10

[03-15s move]
level = NORMAL 0:15
PicoTimeControl = 15

[04-30s move]
level = NORMAL 0:30
PicoTimeControl = 30

[07-60s move]
level = NORMAL 0:60
PicoTimeControl = 60

[06-5m game]
level = BLITZ 5:00 
PicoTimeControl = 5 1

[07-15m game]
level = BLITZ 15:00 
PicoTimeControl = 15 1

[08-30m game]
level = BLITZ 30:00 
PicoTimeControl = 30 1

[09-45m game]
level = BLITZ 45:00
PicoTimeControl = 45 1

[10-60m game]
level = BLITZ 60:00
PicoTimeControl = 60 1

Cheers,

Al.
cpeters
Posts: 115
Joined: Wed Feb 17, 2021 7:44 pm
Full name: Christian Petersen

Re: Picochess Evolution to v3.0

Post by cpeters »

Hello Alan!

I was confused as your setup shown in the video involved a windows-tablet (where the emulation took place if I did understand you right, or was it just a (essential) display/frontend for the pi, as there would be no 'head-/xserverless solution?) to send the moves over ssh to the board/pi. No?

I play with cutechess over ssh also (localhost; mame/chess/dedicated <-> qemu/virtual machine/another chessprogram).

The thing that confused me too, was that in this very version (3) of picochess the emulation is possible from within, isn't it?

I mounted (as I don't own board/pi yet) this image with (parted showed me the filesystems):
# losetup -P /dev/loop0 picochess_v3.img
# mount /dev/loop0p1 /mnt/fatty32
# mount /dev/loop0p2 -t ext4 /mnt/exxt

and in exxt/opt/picochess/engines/mame_emulation/* there should be everything (+314xgold) :-) and so I did not understand the need for your repo, but the entries there are older and preceed the v3 release.
Just before the release of MAME v0.226 they changed the way they referenced the LUA code within MAME, we use the old LUA code within Picochess so from then on I have to replicate their additions and compile it myself on a modded version of MAME 0.226 without the LUA changes.
The version of mame in Debian/testing is out of sync with sandro's (mame/chessengine) repo, yes. I had troubles to find a working one (226 it was) as I did not understand the cause first.

Thanks for the work+have a nice weekend!
cpeters
Posts: 115
Joined: Wed Feb 17, 2021 7:44 pm
Full name: Christian Petersen

Re: Picochess Evolution to v3.0

Post by cpeters »

Another thing:
I compiled mess on my RPi 4
I think it should be possible to do this and everything else outside the Pi and work just with a mounted image (losetup and then mount). It should be possible to 'chroot' after this with qemu. But perhaps not worth the effort...
User avatar
Scally
Posts: 232
Joined: Thu Sep 28, 2017 9:34 pm
Location: Bermondsey, London
Full name: Alan Cooper

Re: Picochess Evolution to v3.0

Post by Scally »

Hi Christian,

The Lite version is non GUI so you can play against the Engines without the GUI as you would with the other non MAME Engines.

The Desktop Version is a VNC desktop where you can optionally use a tablet or iPad etc to log onto the Raspberry Pi’s IP address and follow the games on a GUI of the emulated Engines whilst playing against them.

The full MESS compile took just over 2 hrs on my RPi4, now the compile for just the emulated chess engines takes around 35 minutes, so there’s no real need to compile it elsewhere, as you say.


Cheers,

Al.