Popeye
Popeye is a chess problem solving and testing software which supports orthodox and fairy chess genres. The program was originally written for MS-DOS in 1983. Now we use it in command prompt of Windows. I’m happy to present here a short history of Popeye by Thomas Brand. Thanks a lot to the author!
The last version of Popeye is available at:
https://github.com/thomas-maeder/popeye/releases/
The advantages of Popeye:
- support of fairy stipulations
- support of fairy pieces
- support of fairy conditions and combinations of them
- fast solving
For the beginners:
please look here if you need some instructions
about the installation and examples of how popeye works.
Inconveniences, the users might have:
- some frequent problems users have
- popeye window closes in case of “End Problem” phrase at the end of your notation – so, you can’t even see the result – the solution is gives;
- popeye window (actually – cmd-window of Windows) has not enough size to show a long solutions – so, sometimes you can’t see a part of the solution;
- PASTE option doesn’t work for popeye window – so, you have to input your notation (problem) manually every time for solving;
- it is not so convenient to copy the result of the solution from the popeye window to any of your documents.
- no user interface and graphics
To avoid these problems you can:
- optimize your work with popeye using cmd-commands or batch scripts as I will explain further
- use some interface program for popeye
- combine using of interface program and popeye program
Optimize your work with popeye
Not all of users know, that in general there’re 2 ways of running popeye in Windows.
- You can have popeye icon on your desktop, and run it as any other program. The black window of command prompt will be opened with popeye running and waiting for your problem to be manually entered. It works, but here you will have all or some of the problems I’ve shown above.
- You can run popeye in command prompt of Windows. In menu START you choose Command Prompt. In this case you will get the black window of command prompt (cmd.exe window), where you can manually run your popeye (pywin32.exe, pywin64.exe, py.exe). This option avoids the problems you have in the 1st one!
The advantages of the 2ndoption:
- the popeye window doesn’t close after solving of the problem – you can see the result of the screen;
- you can have the results at the screen or in the file;
- you can give an input for popeye manually, or using [PASTE] menu, or using a file with your problem for input;
- cancelling the process of solving (ctrl+c) doesn’t close the popeye window, but just stops the current solving.
2 methods how to run popeye for the 2nd option:
method 1: cmd-commands |
method 2: batch scripts |
Starting cmd-window in Windows, running popeye manually from there and using all the advantages it gives. For some of you it might be a bit complicated from the 1st time, but please Read More to see the examples. | You can put all the commands you need into the one script-file, put this script on your desktop and run it as any other program. Such scripts in Windows are called the batch scripts. Of course, it’s more convenient to use the ready scripts! I’ll give you a little explanation about these scripts and also several ready scripts for download – Read More! |
Personally, I’d recommend you to use the scripts!
For those of you who is going to install popeye now, I’d suggest to do it in the directory C:PY-459 and to change the name of the executable file to py.exe. In this case you’ll be able to use my examples of using cmd-commands or batch scripts without any change.
Interface programs
Some people would prefer to have a graphical image of the diagram with ability to compose a problem on the computer, using computer graphics.
Of course, there’re many different programs for chess composition. Many of them use popeye as solving engine. You can write me about the interface programs for popeye which you use – and I’ll add a link to them with a short description. Myself I’ll make an accent to the programs which support fairies well.
For now, I’d like to mention 2 of them:
- APwin – to be installed on your computer – Windows graphical front for Alybadix and Popeye.
- Ankona – to work online! – web-based storing and solving program.
Combining interface programs with Popeye
Here I can mention only Ankona for now. As I’ll write in Ankona subsection – the online work has some plusses and minuses. Ankona is good for making diagrams, for storing and sharing your problems. But one of the minuses is that solving online might be very slow as the solving program works on the server and is used by many users in one time. I’d tell, that problems with solving start in case of more than 3 moves.
But Ankona has one option you can use – it shows Popeye input for your problem. So, you can compose your problem on Ankona, but instead of solving it there – choose “Show popeye input” – and you’ll get a notation for popeye, which you can simply copy in your local running popeye-program. To have popeye-window supporting [Paste] option – read about how to optimize your work with popeye, using cmd-commands or batch scripts for running popeye.
Please feel free to leave your comments/questions below (English, Russian, Latvian)! I can add some more info later, based on your comments!
Работать с Popeye гораздо проще используя графические оболочки
Fancy: http://free.of.pl/c/ccintorun/g/fancy.htm
Olive: http://code.google.com/p/olive-gui/
Спасибо, Владимир! Конечно, проще. Я обязательно буду писать об интерфейсных программах. Немного не успеваю все сразу :). Добавлю и Ваши ссылки на эту тему. Я сама никогда не работала с Olive, Fancy немножко смотрела. Собиралась писать больше по Анкону (http://www.ankona.ch) – программа с веб-интерфейсом, которую использую сама, и про ApWIN (http://alybadix.wippiespace.com/apwin.htm). С удовольствием добавлю любую полезную информацию! Юля.
Can you list the commands for each piece, stipulation, board size, etc.? thanks!
There’s a file py-eng.txt (or py-deut / py-frans for German and French) going together with popeye. It has all the notations – for pieces, conditions etc. See it here: https://juliasfairies.com/wp-content/uploads/2012/07/py-engl.txt
See how Popeye-input can look at the exampe of my problem No.37 at https://juliasfairies.com/problems/page-14/
——————–
BeginProblem
Stipulation hs#3
Pieces
White Kh1 Sh8 Sg7 Ph6
Black Ke7 Bc6 Ph2
White Chameleon Qg2 Se4
Black Chameleon Bf3
Twin Move h6 h7
EndProblem
————————
Also, Ankona (www.ankona.ch) generates popeye-input – so you can use it copying from there. See my explanations at https://juliasfairies.com/software/ankona/
Write here, if you have any specific problem with popeye-input!
You can use Scacchi Painter 2 to test your problem with popeye. you can find it at: http://www.accademiadelproblema.org/forumtopic.aspx?topic=747
Chessdiagrammer 10 is out now.
It’s not only a program for creating diagrams [including a template system similar to Microsoft Word], but also a Shell for Popeye and Chest for solving problems.
Kind regards, Ekkehard
It is just 45 euros.
@seetharaman
The Basic version is freeware. In this version, all functions for solving problems [including fairy chess] are now available. As an chess problem enthusiast, i changed this as a gift to all problemists.
🙂
If anyone has questions about my program, please don’t hesitate to contact me.
Greetings, Ekkehard
If it is freeware it is wonderful news!
Hello,
Chessdiagrammer Version 13 is out now.
The Basic Version is free of costs. You can use the program as a Popeye shell.
You are welcome to try out, if my program could be helpful for you.
Kind regards,
Ekkehard May
Hi Julia, great work here ! Wondering if you or one of your subscribers can help me re: popeye. I have to migrate a popeye configuration on to a new Windows 10 PC. It begins with an .inp file called Aufgabe.inp
A double-click on this file opens it in Notepad++(NPP) when NPP is closed it calls a batch file called popeye.bat. This batch file has only two lines.
Once it has run Notepad++ relaunches with the output file “outph4” to which it appends after each loop of the sequence. I guess that the %1 is the argument that connects NPP to win64py.exe and feeds the contents of Aufgabe.inp into it which then processes it and outputs to NPP. I cannot find what connects %1 to Aufgabe.inp and I cannot see how the termination of NPP is able to launch popeye.bat, I have searched within NPP for installed plugins including pyNPP without success. A new installation of popeye and NPP on the new PC followed by copying popeye.bat and Aufgabe.inp across keeping the paths and the “open with” properties the same does not work. NPP closes with no further activity. All help greatly appreciated. Feel free to criticize my assumptions and correct me. The end user wishes to stay with popeye so suggestions outside of that scope won’t help.
Kind regards
Barry aus Berlin
To run Popeye, use the Windows “Run” command. For example, if the Popeye files are in the C:\Popeye directory and the input file is Aufgabe.inp then the command is:
C:\Popeye\pywin32.exe C:\Popeye\Aufgabe.inp
Try one of the Popeye front ends. May be more convenient than batch files.
You probably have a default app for ‘.inp’ registered, which runs a batch job. That batch job will replace ‘%1’ with the filename of the file you’ve opened.
In an English language Windows 10 you can find the default app in Settings – Apps – Default apps – Choose default apps by file types.
Gentlemen,
There are in these pages excellent explanations offered by Lady Julia Vysotska, for executing correctly the Popeye software and composing with it many sorts of Chess problems, puzzles, or end game studies. Popeye is certainly one of the most complete executables that come to the aid of Chess composers, especially when involving fairy varieties of Chess: historical, regional, or recently invented.
However, the instructions given by Lady Julia Vysotska all refer to the Microsoft Windows operating system. For those of us who always use other systems, her instructions cannot be directly applied. Different systems have different ways of storage, of execution, and of commands given at the prompt or in batch scripts.
With the aim of helping readers of the excellent information that is Julia’s Fairies, a short advice is given below for those composers who work with a Linux system. It is valid for most of the major distributions, if having the minimum requirements of hardware, plus the software that usually comes with the distribution of Linux.
Ideally so, because strictly speaking Linux is only the kernel, which is possible to modify for adapting to the needs of a particular distribution. Then other software may accompany the distribution, be it free software like in the case of GNU, or proprietary software like in the cases, at least in part, of Red Hat or of Android.
Assuming a computer connected to Internet, and with a typical Linux system running, these command lines can be executed for installing Popeye software:
root:/# git clone https://github.com/thomas-maeder/popeye.git [ENTER]
root:/# chdir popeye [ENTER] (note 1 below)
root:/# git checkout v4.87 [ENTER] (note 2 below)
root:/# ln -s makefile.unx makefile [ENTER] (note 3 below)
root:/# make [ENTER]
The string ‘root:/#’ must not be typed, it is a typical example of a command line prompt with full privileges. Operators should exercise care when working with full privileges, an error may destroy important data or make the system unworkable.
The [ENTER] key may be labelled [NEW LINE], [RETURN], or with other names.
Note 1: The command ‘chdir’ works with the Zsh command interpreter, which is an advanced, sophisticated, highly configurable and strongly recommended shell. Other command interpreters such as Ash, Bash, Csh, Dash, Ksh, and in fact most other interpreters, may change directories by issuing the command ‘cd’.
Note 2: Popeye version 4.87 is the most recent stable version as of early 2022. Composers that for whatever reason need or prefer another version, past or future, can use the appropriate number instead of the number given above.
Note 3: This command creates a symbolic link and executes configurations of the specified data set, thus creating a data set appropriate to a chosen specification.
The work of the GNU GCC translator and its auxiliary executables will probably take a few minutes, depending on hardware capabilities and on characteristics of the network connection. Once finished, the executable will be in the directory:
/popeye
With the name ‘py’. The name can be changed, for example with the command:
root:/# mv -T -v py popeye [ENTER]
Then the executable can be called without arguments from its directory by:
root:/# /popeye/popeye [ENTER]
Or first by changing the current directory to ‘/popeye’ with the command:
root:/# chdir /popeye [ENTER]
Assuming the directory ‘popeye’ to exist at top level. Then issuing the command:
root:/# ./popeye [ENTER]
Typing the dot and slash is necessary before typing ‘popeye’, they inform the command interpreter that the executable is in the current working directory.
Of course, Popeye can be called with other arguments from the command line, with an invoked data set for presenting a problem or puzzle to Popeye, or also with another data set for saving, or by adding to the solution given by Popeye.
Lady Julia Vysotska has explained those possibilities in a superbly BEAUTIFUL manner, much more clear for the neophyte than the technical details that always are unavoidable in my writing. Therefore I am not repeating here what she has already explained so well, but I am offering my help to those composers working with Linux, or with some other Unics systems that I know, for answering doubts.
Warning: I shall NOT reply to any questions involving Microsoft Windows, I do not work with that system. I do not know it and I DO NOT WANT to know it, period.
Composers are advised to use Linux, BSD, Solaris, Indiana, Minix, or many other systems of the great Unics family. They are the most advanced and sophisticated systems in existence, full of resources for those who know their command line.
Dixieland for ever !
P. A. Stonemann, CSS Dixieland
Inventor of Maidens Chess for Game Courier in Chess Variants:
https://www.chessvariants.com/play/pbm/play.php?game=Maidens+Chess&settings=maidens
I use a few scripts to update and compile the Popeye develop-branch:
svn.sh (to update the GIT branch to a local repository)
#!/bin/sh
MYPATH=$(dirname $(realpath $0))
cd $MYPATH
CURRENTVERSION=$(svn info popeye.git/branches/develop | awk -F ‘: ‘ ‘ /^Revision/ { print $2 } ‘)
echo “Currently at version $CURRENTVERSION”
if [ ! -d popeye.git ]; then svn co –depth empty https://github.com/thomas-maeder/popeye.git; fi
cd popeye.git
svn up branches
cd ..
NEWVERSION=$(svn info popeye.git/branches/develop | awk -F ‘: ‘ ‘ /^Revision/ { print $2 } ‘)
if [ “$CURRENTVERSION” != “$NEWVERSION” ]; then
echo “New version is $NEWVERSION”
./publish.sh
else
echo “Same version”
fi
publish.sh (to compile Popeye, this is a part of the script, the rest of the script compiles Windows 32 and 64 bits versions for publication on my website)
#!/bin/sh
VERS=
egrep -h 'VERSION=[0-9]' popeye.git/branches/develop/makefile.* | awk -F= ' { print $2 }'
echo Cleanup old compile directory
rm -fr ${VERS}
echo Copy sources to compile directory for version ${VERS}
cp -R popeye.git/branches/develop ${VERS}
echo Compile Popeye ${VERS}
cd ${VERS}
#sed -i ‘s/\$(DEFINEMACRO)DOMEASURE//’ makefile.defaults
sed -i ‘s/-Wpedan/#-Wpedan/’ toolchains/gcc/make.incl
make –quiet -e -f makefile.unx >../log-linux.txt 2>../errors-linux.txt
echo Copy binary
cp py ~/bin
cd ..
rm -fr ${VERS}
Distinguished Mister Joost de Heer,
Thanks for this information that You have provided. So far I am working with Popeye stable version 4.87, released by Mister Thomas Maeder on 26th June 2021. However, You are now making me feel rather curious about Popeye development version, whose newest release was done by Mister Joshua Green on 11th November 2021.
The stable version works well, but the development version is now four commits ahead of its master, and it is to be expected to contain some significant differences. I may test the development version and discover the differences, but not always a newer version is better than the older one. It may be worse, and sometimes IT IS WORSE.
I am studying some of Your Chess problems in Julia’s Fairies, Mister de Heer. Problem numbers 823, 918, 1236, 1335, 1442, 1607 and 1680. Some of the fairy conditions are little known to me, I have never played those varieties, so I need to make myself more acquainted with them.
I am also studying some of Your problems published in Word Press:
https://joostdeheer.wordpress.com/
You have there problems of Chess and problems of Draughts on the board of ten by ten squares. I assume the Draughts to be played by the rules of Polish Draughts (now often regarded as International Draughts), where ordinary pieces can capture backwards and crowned Dames are invested of powerful prerrogatives. Your problems of Chess are likewise by the rules of European Chess (International Chess), but in one of them You have a ‘Boy Scout’, a fairy piece of whose existence I am aware, but with which I had never played before. Interesting study You have there.
Please tell me, Sir, how many problemists of Chess, Draughts, or other board games, are working exclusively or predominantly with Linux ?
Or with other Unics systems such as BSD, Solaris, Indiana, Minix, et cetera. I am listing only some systems of Open Source, because there are many other close proprietary systems, such as HP-UX or System V.
Include them in the count, they are also part of our beloved Unics family (some people write ‘Unx’ or ‘Un#x’ or other names for distingushing from the legal name that belonged to Bell Laboratories and now belongs to The Open Group. I always write ‘Unics’, the oldest and original name).
I ask this, because all the excellent information provided by Lady Julia Vysotska seems to be focused exclusively on Microsoft Windows. You also work with that ‘system’, at least for some purposes. I wish to know who are the other enthusiasts of Linux (or of other Unics systems), and how we can collaborate with each other. Recent Apple Macintosh OS X is based on the Linux kernel, thus acceptable. So it is Google Android, and various others. But definitely NOT Microsoft Windows. Not for us.
If You like, see my end game studies for my own fairy variety, Maidens Chess, at the end of the page that I have created for it in Game Courier:
https://www.chessvariants.com/play/pbm/play.php?game%3DMaidens+Chess%26settings%3Dmaidens
Receive my congratulations for the good work that You are doing, Sir.
Dixieland for ever !
P. A. Stonemann, CSS Dixieland
I have compiled and run Popeye for:
Deep thanks, Mister Shankar Ram. It is VERY important to know who are other lovers of Fairy Chess who are also lovers of Linux. So, at the moment we are at least three: Mister Shankar Ram, Mister Joost de Heer, and myself. Probably more, but I do not know of any others. Few we are, but we can help one another.
My instance of Popeye is version 4.87 of June 2021. I installed it in the Knoppix distribution version 8.6, based on the Linux kernel. Knoppix 8.6 is not the most recent version, but for me it works better than the latest release. Knoppix is a live distribution, which I boot-strap from flash storage volume via Universal Serial Bus.
Therefore I do not use hard disk at all. In fact I have no hard disk at all. And no Solid State Disk either. All work is done in Random Access Memory, then it is saved to one of various USB storage devices. That is the way I have been working for years, and the way I shall continue working, because for me it works very well.
Mister Shankar Ram, I have been these days studying the Fairy Chess Classification Project, of which You are one of the authors.
Yesterday I wrote to Lady Julia Vysotska about it, but I have not received a reply yet. I have also read the comments in Mat Plus Forum. Some of them are NOT constructive criticism. They seem to be written by the typical individual who feels envious and who thinks that his idea of classification be better than any other idea.
Your work is EXCELLENT work, Mister Ram, no doubt about it. Other methods of classification may exist, but Yours is a rational and comprehensive method, like few that I have ever know. For comparison, the Periodic Table of Chemical Elements is not now as it was in the times of Julius Lothar Meyer or Dmitri Mendeliev.
The Taxonomical System used in Biology is not today as it was with Karl von Linneus or the Chevalier de Lamarck. Every system has a start, and an evolution. So does the Classification of Fairy Chess. The idea is to develop a rational, comprehensive system, and add every new discovery to its correct place in the system.
And with that aim in mind, You are doing VERY WELL, in spite of what some unhappy souls might say to the contrary. Please, Sir, if You wish to send to me new information in regard to the Fairy Chess Classification Project, be kind to do it using software or formats that are common in Linux, or in other Unics systems.
Pray do not use software or formats from a so-called ‘system’ of rather dubious efficiency and of rather excessive popularity. The conversion may be difficult or impossible, and better than making heroic efforts, in most cases I just prefer to ERASE the offender.
I do not know if Lady Julia Vysotska would permit me to inform of my electronic address in a public forum like this one. Probably yes, but in the doubt, I prefer to avoid incurring into her wrath.
Therefore please send any material to her, asking her to resend to me. Or show this forum thread to her, and ask her for one of my addresses, probably the one from Google GMail. She has all the necessary data for contacting me by various means, but it is of course her decision to give that information or not. Whatever her decision might be, it is to be respected as correct decision.
Receive my appreciation and Confederate Regards, Mister Ram.
Dear Mr. Stonemann, I’m sorry for a slow response! Finalizing the WCCI entries on WFCC website; registering participants of ECSC in Riga (one more website to manage up to May); and the entries for JF10JT. And there is also a waiting list of Original problems on the Home page.
I’ve replied your email yesterday’s night. I don’t mind if you show your e-mail address in the comment. But at the moment I couldn’t get involved into any discussion. Thank you for your kind words!
My Dearest Lady Julia Vysotska, I am aware of Your main activities in support of Fairy Chess, of Chess Composition, and of related interests, and I can well imagine Your busy schedule. Please do not protract Your responsibilities for writing to me, do it only when You have ample time and disposition for it. You have received a letter from me.