Ability to add new systems?

Found a bug, need help or have a suggestion for PES then please post here!
Post Reply
New Member
Posts: 1
Joined: Sat Mar 06, 2021 11:32 pm

Ability to add new systems?

Post by HustlerOne »


I'm very interested in trying out PES for my RPi4. I was wondering though, after looking through all of the available systems PES emulates, if we can add more systems to the list? For example, I'm really into some obscure systems such as the Hartung Game Master, Watara SuperVision, Philips CD-i, and the like. I'm familiar with MESS being able to emulate some of those in the past and eliminating ability to do so in later releases for whatever bizarre reason.

Thank you.
Site Admin
Posts: 1298
Joined: Mon Apr 18, 2005 8:35 pm
Location: UK

Re: Ability to add new systems?

Post by Neil »


Welcome to the forums!

Yes you can add additional emulators to PES but it requires a little bit of effort and some familiarity with Linux at the command line.

The PES image contains a ext4 file system for the OS and the software. It typically leaves 300-400MB free. The rest of the space on the SD card is automatically allocated to the remaining space as a fat32 partition for the ROMs etc. upon the first boot. In order to add more emulators etc. I would recommend resizing the ext4 root partition before booting the SD card in your Raspberry Pi for the first time. If you are using Linux this can be done using gparted for example.

I would suggest increasing the root file system to a minimum of 4GB to leave plenty of space. Once booted you'll need to install a compiler etc. to compile your chosen emulator(s).

First get the latest package list from Arch Linux:

Code: Select all

sudo pacman -Sy
Now install the compilers etc.

Code: Select all

sudo pacman -S autoconf automake bison byacc flex gcc git cmake make patch pkg-config
Next build your emulator. You can install them anywhere you like, but for PES I install them to: /opt/pes/emulators so feel free to put them here if you wish.

The next thing to do is to tell PES about your new emulator. Edit /opt/pes/conf.d/pes/consoles.ini and add a new block for your emulator, e.g.

Code: Select all

sudo nano -w /opt/pes/conf.d/pes/consoles.ini
You'll need to know the API ID used by theGamesDb.net for the system you are adding if you want coverart etc. An easy way to do this is to go to https://thegamesdb.net/list_platforms.php and find you system there. Once you load the page for your chosen system you'll see in the URL the platform ID - this is what PES needs.

Example block for the GameBoy:

Code: Select all

thegamesdb_id:			4
achievement_id:	4
emulator:	RetroArch
image:		%%BASE%%/resources/GameBoy.png
extensions:	.gb .GB  .zip .ZIP
command:	%%BASE%%/emulators/RetroArch/bin/retroarch --appendconfig "%%USERCONFDIR%%/retroarch/retroarch.cfg|%%USERCONFDIR%%/retroarch/cheevos.cfg" -L %%BASE%%/emulators/RetroArch/lib/gambatte_libretro.so %%GAME%%
nocoverart:	%%BASE%%/resources/GameBoy - nocoverart.jpg
Most of the emulators in PES use RetroArch. It's by far the easiest emulator to use so if your system can be run using that, then this would be my advice. You can omit the achievement_id parameter if RetroAchievements are not supported. Note: only RetroArch supports achievements in the PES set-up.

You need to supply a background image for use by PES on its console screen. It's best if you use the same dimensions as the existing images: 576x324 if you can.

Next is the extensions parameter. This is a space separated list of file name extensions that PES should look for when adding ROMS for the system.

command is the command to execute at the command line to launch the emulator.

Finally, nocoverart is the image to use when no cover art can be found for ROM.

The %% variables all get replaced by PES at runtime like so:

%%BASE%% = PES install dir, typically /opt/pes
%%GAME%% = the full path to the game being launched
%%USERCONFDIR%% = the user's PES config dir, typically /home/pi/pes/conf.d. This is useful if the emulator requires particular files.

Once /opt/pes/conf.d/pes/consoles.ini is updated, delete /home/pi/pes/conf.d/pes/consoles.ini and restart the PES GUI. This will cause PES to take a copy from /opt/pes/conf.d/pes/consoles.ini.

Alternatively, you can make all the changes above to /home/pi/pes/conf.d/pes/consoles.ini for testing, however beware that if you tell PES to reset its config in the GUI, it will overwrite /home/pi/pes/conf.d/pes/consoles.ini with /opt/pes/conf.d/pes/consoles.ini.

https://pes.mundayweb.com/html/PES%20Im ... rnals.html has some additional info about user accounts which may be of use.

Hope this helps,

Post Reply