Release Emu EX Plus Alpha ported to the Pandora


New updated build on the repo. Main difference (appart for slight code updated and fresh compile with latest gcc) is the disable of the ScreeSaver at start (it should be reapply at exit).


Build 14
----------

  • Updated source code
  • Disable Screensaver at start
  • Compiled with gcc 5.3
 
Last edited:
Love the emulators ptitSeb one problem I have noticed is that after running save states on the msx emulator joystick works fine but the gaming buttons won't work and would it be possible to have the B gaming button added to the joystick keys for the c64 emulator would be better pressing button instead of pressing up to jump in games.
 
@Thylacine: so, a bug and a feature request.
The bug is using a savestate on the MSX emulator with and external joystick connected? The buttons are not set properly after reload?

The feature is what? using a 2nd button on the joystick on the GUI and games on the C64 (joystick only had 1 button, so it would be mapped to some keys?
 
@Thylacine: so, a bug and a feature request.
The bug is using a savestate on the MSX emulator with and external joystick connected? The buttons are not set properly after reload?

The feature is what? using a 2nd button on the joystick on the GUI and games on the C64 (joystick only had 1 button, so it would be mapped to some keys?
If I understand correctly. He's requesting a virtual jump button. This is just a gaming button that presses up on the joystick as many C64 (and incidentally Amiga) games use up to jump. Pressing a button instead of up makes them a tiny bit easier play.
 
If I understand correctly. He's requesting a virtual jump button. This is just a gaming button that presses up on the joystick as many C64 (and incidentally Amiga) games use up to jump. Pressing a button instead of up makes them a tiny bit easier play.
Yes that's what I was on about the msx problem is with the Pandora gaming buttons I will try to explain myself better next time
 
  • Disable Screensaver at start

Unfortunately this feature didn't seem to work for me. I tried it both launching from XFCE and Openbox. The screen still goes blank after a few minutes while using a bluetooth controller. I'll keep playing with it, though.
 
Damn.
I used that script:
Code:
screensaver=`xset q | grep -A 2 "Screen Saver:" | grep "timeout:" | awk  '{print $2}'`

if [ $screensaver -neq 0 ];then
xset s off
fi

and then, after the emu
Code:
if [ $screensaver -neq 0 ];then
 xset s $screensaver
fi

Seems it's not enough? I have to investigate...
 
Should -neq be -ne? Not sure but the bash guides I looked at use -ne.

Also, I just ran xset q on my Pandora, and Screen Saver: timeout: is set to 0, so I think your script would ignore my settings, correct?

EDIT: I figured it out for XFCE at least. Screensaver wasn't my issue. I had turned that off, however DPMS(Energy Star) settings were turning off the display. I disabled DPMS and now its working great in xfce.

DPMS is disabled with:

xset -dpms

and enabled with

xset +dpms

I'll take a look at OpenBox next. XFCE was screen blanking after 60 seconds due to DPMS, but OpenBox was blanking after 10 minutes. If OpenBox is still turning off the display, I'll take a look at the config to see if I can come up with a script to disable/re-enable.

EDIT 2: Looks like OpenBox is setting the DPMS timeout for display blanking to 10 minutes. Looks like I can still turn this off.

However, I've begun getting some really odd behavior from the SNES emulator. Text is screwed up after trying to load a game sometimes and the emulator freezes up. I can exit using the Pandora button. Let me run some tests and then try to get you more information.

EDIT 3: I have been able to recreate the crash/freeze. It seems to occur after loading a game, quitting the emulator, and then launching again. As soon as I try to load a Rom during the second launch, freeze occurs. If you are not able to reproduce yourself, let me know what type of data might be helpful for me to collect for you.

BTW I'm super excited to have gotten past the screen blanking issue. It greatly enhances the TV-out experience. Thanks!
 
Last edited:
@edgex004 : thanks for the investigation! I'll do another script with the DPMS setting too :)

About the crash/freeze: thtis one will be more tricky. If it's after a 2nd start of the game, it means the freeze is probably inside the SGX driver. So I'll probably wont be abble to help here. Can you reproduce with another SGX driver?
 
Interestingly enough, I switched from 4.10 to 4.00 and now not even the first boot works. I can get into the menu, but loading a Rom causes a crash.

Here is the .out from my latest run:
Code:
=======================================================================================
PND             : /media/DEDGEDORA/pandora/menu/Snes9xEX.pnd
PND_FSTYPE      : Squashfs
APPDATADIR      : /media/DEDGEDORA/pandora/appdata/snes9xex
APPDD_FSTYPE    : ext4
PND_CPUSPEED    : <unset>
EXENAME         : run9x.sh
ARGUMENTS       : <unset>
=======================================================================================
[ START ]--- Mount the PND ----------
Mounting : mount -t squashfs -o ro "/dev/loop0" "/mnt/utmp/snes9xex"
Mounting the Union FS : mount -t aufs -o exec,dirs="/media/DEDGEDORA/pandora/appdata/snes9xex=rw+nolwh":"/mnt/pnd/snes9xex=rr" none "/mnt/utmp/snes9xex"
[SUCCESS]--- Mount the PND ----------
[ START ]--- Starting the application ( run9x.sh  ) ----------
--------------------------------------------------------------
Setting PATH to /mnt/utmp/snes9xex:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games
--------------------------------------------------------------
Setting LD_LIBRARY_PATH to /mnt/utmp/snes9xex/lib:/lib:/usr/lib
./run9x.sh: line 52: [: -neq: binary operator expected
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
./run9x.sh: line 56:  2077 Terminated              ./s9x $@
./run9x.sh: line 58: [: -neq: binary operator expected
[SUCCESS]--- Starting the application ( run9x.sh  ) ----------
[ START ]--- Restoring the frame buffer status ----------
[SUCCESS]--- Restoring the frame buffer status ----------
[ START ]--- Restoring nub mode ----------
[SUCCESS]--- Restoring nub mode ----------
[ START ]--- uMount the PND ----------
[ START ]--- Waiting the Union to be available ----------
[SUCCESS]--- Waiting the Union to be available ----------
rmdir: failed to remove `/mnt/utmp/snes9xex': Device or resource busy
[ START ]--- Waiting the PND mount dir to be free ----------
[SUCCESS]--- Waiting the PND mount dir to be free ----------
cleanup done
[SUCCESS]--- uMount the PND ----------
=======================================================================================
Return code is : 1

Code:
=======================================================================================
PND             : /media/DEDGEDORA/pandora/menu/Snes9xEX.pnd
PND_FSTYPE      : Squashfs
APPDATADIR      : /media/DEDGEDORA/pandora/appdata/snes9xex
APPDD_FSTYPE    : ext4
PND_CPUSPEED    : <unset>
EXENAME         : run9x.sh
ARGUMENTS       : <unset>
=======================================================================================
[ START ]--- Mount the PND ----------
Mounting : mount -t squashfs -o ro "/dev/loop1" "/mnt/utmp/snes9xex"
Mounting the Union FS : mount -t aufs -o exec,dirs="/media/DEDGEDORA/pandora/appdata/snes9xex=rw+nolwh":"/mnt/pnd/snes9xex=rr" none "/mnt/utmp/snes9xex"
[SUCCESS]--- Mount the PND ----------
[ START ]--- Starting the application ( run9x.sh  ) ----------
--------------------------------------------------------------
Setting PATH to /mnt/utmp/snes9xex:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games
--------------------------------------------------------------
Setting LD_LIBRARY_PATH to /mnt/utmp/snes9xex/lib:/lib:/usr/lib
./run9x.sh: line 52: [: -neq: binary operator expected
./run9x.sh: line 56:  4922 Segmentation fault      ./s9x $@
./run9x.sh: line 58: [: -neq: binary operator expected
[SUCCESS]--- Starting the application ( run9x.sh  ) ----------
[ START ]--- Restoring the frame buffer status ----------
[SUCCESS]--- Restoring the frame buffer status ----------
[ START ]--- uMount the PND ----------
[ START ]--- Waiting the Union to be available ----------
[SUCCESS]--- Waiting the Union to be available ----------
rmdir: failed to remove `/mnt/utmp/snes9xex': Device or resource busy
[ START ]--- Waiting the PND mount dir to be free ----------
[SUCCESS]--- Waiting the PND mount dir to be free ----------
cleanup done
[SUCCESS]--- uMount the PND ----------
=======================================================================================
Return code is : 1

Tried again a few times. As it turns out, SNES9x EX 1.43 causes all these crashes, but 1.53 does not. 1.53 seems to work perfectly. The .out looks the same for both, but 1.43 has either the ALSA errors or a seg fault. Tried again after fresh reboot, and now I can't get 1.43 to work even on the first launch. Latest attempt crashed after Rom selection and the .out file refers to 3602 seg fault this time. I'm going to try reinstalling to see if my PND somehow corrupted 1.43 and not 1.53.
 
Last edited:
Just to clarify. I believe you already understand this, but I don't believe the script is causing the crash.

This line:
Code:
./run9x.sh: line 52: [: -neq: binary operator expected

Is complaining about -ne vs -neq, and this occurs no matter if there is a crash or not.

These lines are crash related, and do not show up unless a crash occurs:

Code:
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
./run9x.sh: line 56:  2077 Terminated              ./s9x $@

Code:
./run9x.sh: line 56:  4922 Segmentation fault      ./s9x $@
 
Yeah don't worry, I understood. But I don't know why it crash. I'll update the sources and recompile everything when I'll repackage everything, hoping the crash just vanish. I'll do a few test too, but not sure I'll reproduce the crash, any specific game that trigger the crash or any rom will do?
 
Every rom I've tried seems to crash at some point. I still need to try a fresh pnd and app data directory though...
 
Reinstalled the PND today. One run went okay. Second run had a new error in the .out file, but same type of crash at ROM load:

Code:
=======================================================================================
PND             : /media/DEDGEDORA/pandora/menu/snes9xex_ptitseb.pnd
PND_FSTYPE      : Squashfs
APPDATADIR      : /media/DEDGEDORA/pandora/appdata/snes9xex
APPDD_FSTYPE    : ext4
PND_CPUSPEED    : <unset>
EXENAME         : run9x.sh
ARGUMENTS       : <unset>
=======================================================================================
[ START ]--- Mount the PND ----------
Mounting : mount -t squashfs -o ro "/dev/loop0" "/mnt/utmp/snes9xex"
Mounting the Union FS : mount -t aufs -o exec,dirs="/media/DEDGEDORA/pandora/appdata/snes9xex=rw+nolwh":"/mnt/pnd/snes9xex=rr" none "/mnt/utmp/snes9xex"
[SUCCESS]--- Mount the PND ----------
[ START ]--- Starting the application ( run9x.sh  ) ----------
--------------------------------------------------------------
Setting PATH to /mnt/utmp/snes9xex:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games
--------------------------------------------------------------
Setting LD_LIBRARY_PATH to /mnt/utmp/snes9xex/lib:/lib:/usr/lib
./run9x.sh: line 52: [: -neq: binary operator expected
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
      after 32 requests (32 known processed) with 0 events remaining.
./run9x.sh: line 58: [: -neq: binary operator expected
[SUCCESS]--- Starting the application ( run9x.sh  ) ----------
[ START ]--- Restoring the frame buffer status ----------
[SUCCESS]--- Restoring the frame buffer status ----------
[ START ]--- Restoring nub mode ----------
[SUCCESS]--- Restoring nub mode ----------
[ START ]--- uMount the PND ----------
[ START ]--- Waiting the Union to be available ----------
[SUCCESS]--- Waiting the Union to be available ----------
rmdir: failed to remove `/mnt/utmp/snes9xex': Device or resource busy
[ START ]--- Waiting the PND mount dir to be free ----------
[SUCCESS]--- Waiting the PND mount dir to be free ----------
cleanup done
[SUCCESS]--- uMount the PND ----------
=======================================================================================
Return code is : 2

EDIT: And here is another run after restarting and deleting the appdata. First run saw crash after selecting ROM:

Code:
=======================================================================================
PND             : /media/DEDGEDORA/pandora/menu/snes9xex_ptitseb.pnd
PND_FSTYPE      : Squashfs
APPDATADIR      : /media/DEDGEDORA/pandora/appdata/snes9xex
APPDD_FSTYPE    : ext4
PND_CPUSPEED    : <unset>
EXENAME         : run9x.sh
ARGUMENTS       : <unset>
=======================================================================================
[ START ]--- Mount the PND ----------
Mounting : mount -t squashfs -o ro "/dev/loop0" "/mnt/utmp/snes9xex"
Mounting the Union FS : mount -t aufs -o exec,dirs="/media/DEDGEDORA/pandora/appdata/snes9xex=rw+nolwh":"/mnt/pnd/snes9xex=rr" none "/mnt/utmp/snes9xex"
[SUCCESS]--- Mount the PND ----------
[ START ]--- Starting the application ( run9x.sh  ) ----------
--------------------------------------------------------------
Setting PATH to /mnt/utmp/snes9xex:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games
--------------------------------------------------------------
Setting LD_LIBRARY_PATH to /mnt/utmp/snes9xex/lib:/lib:/usr/lib
--------------------------------------------------------------
mkdir home
./run9x.sh: line 52: [: -neq: binary operator expected
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
      after 32 requests (32 known processed) with 5 events remaining.
./run9x.sh: line 58: [: -neq: binary operator expected
[SUCCESS]--- Starting the application ( run9x.sh  ) ----------
[ START ]--- Restoring the frame buffer status ----------
[SUCCESS]--- Restoring the frame buffer status ----------
[ START ]--- Restoring nub mode ----------
[SUCCESS]--- Restoring nub mode ----------
[ START ]--- uMount the PND ----------
[ START ]--- Waiting the Union to be available ----------
[SUCCESS]--- Waiting the Union to be available ----------
rmdir: failed to remove `/mnt/utmp/snes9xex': Device or resource busy
[ START ]--- Waiting the PND mount dir to be free ----------
[SUCCESS]--- Waiting the PND mount dir to be free ----------
cleanup done
[SUCCESS]--- uMount the PND ----------
=======================================================================================
Return code is : 2
 
Last edited:
@edgex004 : I made a fresh new compile (with no changes), can you give it a try? It's here.

Sorry, but it seems to suffer from the same issue. 1.53 works great, and 1.43 is highly unstable. 1.43 usually ends in a segfault at ROM selection. Sometimes it seems to work after a fresh boot.

The start up script isn't whining any more though!

I just installed the latest SZ onto a fresh SD card. Will try running it from that tomorrow.
 
Back
Top