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:

  1. 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.
  2. 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.

  1.  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.
  2. 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.

→Return to Software


Please feel free to leave your comments/questions below (English, Russian, Latvian)! I can add some more info later, based on your comments!

Subscribe
Notify of
guest
17 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Владимир
April 17, 2012 22:10

Работать с Popeye гораздо проще используя графические оболочки
Fancy: http://free.of.pl/c/ccintorun/g/fancy.htm
Olive: http://code.google.com/p/olive-gui/

madhatter5
madhatter5
July 8, 2012 01:10

Can you list the commands for each piece, stipulation, board size, etc.? thanks!

Gabriele
January 7, 2016 10:45

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

Ekkehard May
March 30, 2016 02:19

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

seetharaman
seetharaman
March 30, 2016 09:41
Reply to  Ekkehard May

It is just 45 euros.

Ekkehard May
March 30, 2016 12:02


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

seetharaman
seetharaman
March 30, 2016 19:56
Reply to  Ekkehard May

If it is freeware it is wonderful news!

Ekkehard May
April 30, 2021 13:21

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

bwl
bwl
May 12, 2021 20:00

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

Anfangproblem  
protokoll         outph4
Autor              unbekannt
Quelle            ebenso 
Bedingung    
Forderung      h#4
Steine            Weiss 
                      kh7 se2 bd6
                      Schwarz 
                      kh5 de1 sg8 bb2 bd7 bf7 bh2 bh4
Option            inte 1 weis
Endeproblem

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.

c:\popeye\win64py.exe %1  
pause  

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

Geoff Foster
Geoff Foster
May 13, 2021 01:48
Reply to  bwl

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

shankar ram
shankar ram
May 13, 2021 09:34
Reply to  bwl

Try one of the Popeye front ends. May be more convenient than batch files.

Joost de Heer
Joost de Heer
May 13, 2021 10:28
Reply to  bwl

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.

cssdixieland
cssdixieland
January 22, 2022 01:02

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

Joost de Heer
Joost de Heer
January 22, 2022 17:28
Reply to  cssdixieland

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}

Last edited 1 day ago by Joost de Heer
cssdixieland
cssdixieland
January 22, 2022 20:37
Reply to  Joost de Heer

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