Release PSNes


ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
9,330
Age
52
Location
France, near Lyon
Here is PSNes, the Portable SNes9x by CPasJuste

preview01.png


This will use gl4es for the rendering. I ported only the OpenGL 1.x backend, so no shader effects. Also, if the emulator goes to fast, update gl4es (just update the system with `sudo apt update && sudo apt upgrade`), to have latest version thta include a fake VSync option. The keymap should be Pyra friendly.

You may need to install libglew2.1 and a few other for this one to work. Use
Code:
sudo install libglew2.1 libtinyxml2-6a libminizip1 libfuse2
if it doesn't start.

By default, all roms are fetched from "appdata/psnes/roms", but you can redirect the folders by editing "appdata/psnes/config.cfg" after a 1st run. Note that you cannot add new folder.

History log
=========

Build 03
----------

  • fresh build
  • repacked for better compatibility
Build 02
-----------

  • fixed Pyra keymap
  • hide mouse cursor
Build 01 (unpublished)
-----------
  • Initial build
  • Some Pyra adaptations (fullscreen & keymap)
 
Last edited:
Looks very good. Sadly I'm unable to make it run.

First it complained about not having libglew.

I installed libglew2.1 and upgraded system but still not working. This is the output running from CLI.

Code:
asimov@asimov-pyra:~$ dbp-run-path /media/asimov/SD16/dragonbox/packages/psnes-6.05.0.02.dbp
--------------------------------------------------------------
Setting PATH to /mnt/dbp/union/psnes:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
--------------------------------------------------------------
Setting HOME to /mnt/dbp/union/psnes
cp: cannot stat '/mnt/dbp/union/psnes/pyrainput.sav': No such file or directory
/usr/sbin/pyrainputctl {enable|disable} {keypad|gamepad|mouse}
/usr/sbin/pyrainputctl overload <path-to-config-file>
/usr/sbin/pyrainputctl no-overload
bin/psnes: error while loading shared libraries: libtinyxml2.so.6: cannot open shared object file: No such file or directory

Can I getyou more information about this problem somehow?
 
Yes, I messed up the dependencies warning, there are a few more:
Code:
sudo apt install libtinyxml2-6a libminizip1 libfuse2
It will work for all the 4 P* emulators
 
Ok, now I'm feeling stupid because I cannot find how to select the rom folder. It says back for rom menu but backspace does nothing.
 
The GUI pictures are for the "Switch"... The BACK is Enter here. But the ROM MENU is not a menu to select the folder where your rROMS are. There is nothing like that here. ROM Menu is the "per rom" settings for the current rom. To change the folder, you need to exit, and manual edit the file in "appdata/psnes/config.cfg"
 
Last edited:
Thanks, seems to work very well and the interface is very convenient for a handheld.

I only found super mario world 2 to have completely broken graphics. Like everything is black and you only see withe shadows of the characters.

Besides that I got crash exactly at the same moment the infamous noise bug triggered. And after that none of the cpasjustes emulators worked. But I'm unable to reproduce this situation.

I'm curious about one thing. Project page claims to support software filtering (tv2x, smooth, supereagle, 2xsai...) but these options are not available in Pyra. I'm curious about this.
 
I haven't built GLESv2 version, only OpenGL 1.2 (it's OpenGL 1.2, GLESv2 or OpenGL 3.3). So no shaders available, and so no filtering effects. It's complicated to build GLESv2 because SDL2 is the desktop version and will use libGL (and the GLESv2 passthru of GL4ES may need some refinement). So I didn't bothered too much and released the stuff (I still have spent like 4h trying different built option and stuff, and an addition 4h to finetune everything and get some working packages).
 
I havent testet that many games, as i ditnt had that much time on weekend,
I had Super Mario World 1 running, and the Shoulderbuttons ditnt work as they where used for some aktions, like the Stomp Attack and the Whirl Jump or how it is called, at least it was so on the GBA.. ..
 
Super Mario World was a SNES game I thought. I've never tested the shoulder buttons, but to be fair I've never whirled in Super Mario World. But the stomp attack I've always done by jumping then holding down.
 
I tested the shoulder buttons with StarFox and they works fine, but only with Build 02. If you used Build 01 and never removed the config.cfg, then you have shoulder button incorrectly mapped.
 
Thanks, seems to work very well and the interface is very convenient for a handheld.

I only found super mario world 2 to have completely broken graphics. Like everything is black and you only see withe shadows of the characters.

Besides that I got crash exactly at the same moment the infamous noise bug triggered. And after that none of the cpasjustes emulators worked. But I'm unable to reproduce this situation.

I'm curious about one thing. Project page claims to support software filtering (tv2x, smooth, supereagle, 2xsai...) but these options are not available in Pyra. I'm curious about this.
Apologies. I guess do not understand the terminology. For me software filter was the opposite of shaders. At least i remember usin 2xai, supeagle or hq2x in some emulators way before shaders were a thing.
 
I think it's only implemented as shader here, not as a software post processthat would enlarge the output buffer.
 
These "P" emulators don't work in bullseye or bookwork anymore, since they look for older versions of the libGLEW, libcrypto and libtinyxml2 dependencies.

If the emulators do relay on the older libraries it may work if local copies from the buster versions are included...

Edit: I managed to run the emulator in bookworm by copying the system's libGLEW.so.2.2 to libGLEW.so.2.1, and installing libcrypto1.1 from the buster repository by adding it in the sources.list.
 
Last edited:
fragmentation on a platrform so small :(

I'll update the DBP when the official OS evolve.

I don't want to hunt of the libs that are update and the one that are not, and then having to always update the libs because of some random security update.
 
No need to hurry, I still consider and recommend the buster image as the current "stable" release.
I just wanted to tell/warn/inform that they're not working out of the box when using the newer distros and wanted to show a quick'n dirty solution to make them run anyway...
 
Back
Top