Thread Tools
Posts: 6 | Thanked: 9 times | Joined on Aug 2017
Oy, the rpm needs gstreamer0.1 and it's deprecated for gstreamer1.0

We need an update.

I built two versions - emumaster 0.3.1-1 and 0.3.1-69 which have some differences, neither work.

Files emumaster/src/ and emumastermerpl/src/ differ
Files emumaster/src/ and emumastermerpl/src/ differ
Files emumaster/src/base/frameitem.h and emumastermerpl/src/base/frameitem.h differ
Files emumaster/src/base/emuview.cpp and emumastermerpl/src/base/emuview.cpp differ
Files emumaster/src/base/touchinputdevice.cpp and emumastermerpl/src/base/touchinputdevice.cpp differ
Files emumaster/src/base/hostaudio.cpp and emumastermerpl/src/base/hostaudio.cpp differ
Files emumaster/src/base/emuview.h and emumastermerpl/src/base/emuview.h differ
Files emumaster/src/base/emuinput.h and emumastermerpl/src/base/emuinput.h differ
Files emumaster/src/base/frameitem.cpp and emumastermerpl/src/base/frameitem.cpp differ
Files emumaster/src/base/hostaudio.h and emumastermerpl/src/base/hostaudio.h differ
Files emumaster/src/gba/gba.h and emumastermerpl/src/gba/gba.h differ
Files emumaster/src/gba/mem.cpp and emumastermerpl/src/gba/mem.cpp differ
Files emumaster/src/gba/gba.cpp and emumastermerpl/src/gba/gba.cpp differ
Files emumaster/src/pico/pico.cpp and emumastermerpl/src/pico/pico.cpp differ
Files emumaster/src/amiga/amiga.cpp and emumastermerpl/src/amiga/amiga.cpp differ
Files emumaster/src/nes/disk.cpp and emumastermerpl/src/nes/disk.cpp differ
Files emumaster/src/nes/cheats.h and emumastermerpl/src/nes/cheats.h differ
Files emumaster/src/nes/mapper/mapper018.h and emumastermerpl/src/nes/mapper/mapper018.h differ
Files emumaster/src/nes/cheats.cpp and emumastermerpl/src/nes/cheats.cpp differ
Files emumaster/src/nes/nes.cpp and emumastermerpl/src/nes/nes.cpp differ
The only emu that builds is 'snes' and that won't even launch if you press the icon in the GUI app. You have to invoke it manually.

I really don't want to spend days faffing with a broken source tree when someone has a working (0.4?) version lying around.

So - stop by freenode or give me a PM please if you have a non-broken source tree, then i can build it and upload to warehouse.


The Following 2 Users Say Thank You to merpl For This Useful Post:
Posts: 453 | Thanked: 1,550 times | Joined on Dec 2009
Originally Posted by merpl View Post
I really don't want to spend days faffing with a broken source tree when someone has a working (0.4?) version lying around.

your best bet is likely to use the initial commit that was uploaded to github:

From what I know, there never was a 0.4 version available, not even as source.
To me, it looked like the original developer had to stop right in the middle of something.

In addition to what you already observed, be aware that there was some change in the Qt stuff that ships with current Sailfish OS versions.
I do not recall which Sailfish OS version introduced the change.
However, the impact was that the drawing performance was notably decreased.
This all happened a long time ago, one or two years or so, so my memory is pretty faint on the details.
But if I recall correctly, the drawing performance when, e.g., playing Super Mario 3 on the SNES emulation used to be pretty stable at 50 fps and then dropped to something around 30-40 fps and it fluctuated much more, which really impacted the experience.

Regarding the changes I did in my github repository:
As you notice, there was quite a long inactive time since the initial upload to github.
However, end of 2016/start of 2017, I played with alternative drawing approaches trying to improve the performance.
My hope was that I could somehow get back to the performance before the aforementioned change.
In that process, I also experimented a bit with alternative ways for drawing the controls, e.g., by drawing the controls via QML instead of the "rather low-level" approach in the original emumaster.
Due to time constraints, I never got to release a proper updated version.
The current status is still somewhat experimental.

Thus, the best advice I can give you right now is:
If you quickly want to get the status of the last working SFOS release:
start with the initial github commit from 2014 and maybe try to see if you can find some build-related files, maybe from my old Mer OBS repositories or so.
If you like, I can try to dig up some links but, unfortunately, my time is very limited, right now.

I hope this is helpful for you.



Last edited by Wonko; 2017-08-05 at 15:12.

The Following 3 Users Say Thank You to Wonko For This Useful Post:
Posts: 453 | Thanked: 1,550 times | Joined on Dec 2009
I just saw that the first post in this thread contains all the links to OBS etc.
However, I am not sure if it is sufficient to simply update the gstreamer version in the .yaml and .spec files.
According to the following document, there may be some more complex changes in the API etc., which may require more manual intervention in the update process:
Nonetheless, I think it is best to start with the initial commit to my github emumaster repository and start/fork from there.
Posts: 453 | Thanked: 1,550 times | Joined on Dec 2009
I could build emumaster with gstreamer 1.0 dependencies.
You can get version: emumaster-0.3.1-10.70.1.jolla.armv7hl.rpm
from my OBS repository:

However, please be aware that I only installed it and started one SNES emulation without trying much else.
One thing is already apparent: The controls may be over/under sized depending on you screen resolution.

Any way, feedback is as usually appreciated.
However, due to my time constraints there may be quite some delay until I can reply.

The Following 5 Users Say Thank You to Wonko For This Useful Post:
Posts: 453 | Thanked: 1,550 times | Joined on Dec 2009
Another brief update:
I have to keep it short due to time constraints.

I just build: emumaster-0.3.1-10.77.1.jolla.armv7hl.rpm

This one re-enables several patches for:
- Enable Sound
- Amiga Support
- GBA Support

The NES&Pico patch did not work, for now.

I also added some hack to work around the sizing issues but I cannot elaborate on that, right now.

The version is based on commit 4f40a85b141e402b7c302fe31159c15c2467161d from my github repository.
The reason for this is that, apparently, something regarding the build options had changed, which I already had fixed in my experimental setup.

The Following 6 Users Say Thank You to Wonko For This Useful Post:
Posts: 453 | Thanked: 1,550 times | Joined on Dec 2009
A brief update:

So, it turned out that most of the "hack" I prepared was not necessary,
To 99.5%, my current solution for adjusting the touch input to different resolutions boils down to properly using the existing configuration options.
The remaining bit is a small change to work around an hard-coded upper limit:
diff --git a/src/base/touchinputdevice.cpp b/src/base/touchinputdevice.cpp
index 3b7cd0b..9d0cffd 100644
--- a/src/base/touchinputdevice.cpp
+++ b/src/base/touchinputdevice.cpp
@@ -324,7 +324,7 @@ void TouchInputDevice::setGridVisible(bool on)
 void TouchInputDevice::setDpadAreaSize(int size)
-       int rSize = qBound(160, size, 320);
+       int rSize = qBound(160, size, 16384);
        if (m_areaSize != rSize) {
                m_areaSize = rSize;
The diff is against 4f40a85b141e402b7c302fe31159c15c2467161d of my github repository.
This is the suggested commit if you want to play with the "current stable" Emumaster version.
From later commits on, I introduced more experimental changes.

In order to adjust the touch input display to your screen resolution, you have to edit the file: ~/.config/elemental/emumaster.conf

For SailfishOS running on an 1920x1080 resolution, I use the following settings:
I uploaded version emumaster-0.3.1-10.82.1.jolla.armv7hl.rpm to my Mer repository.
I hope that this version plus the information in this thread fixes most issues for you and I am very much looking forward to your feedback.

The Following 5 Users Say Thank You to Wonko For This Useful Post:
Posts: 215 | Thanked: 270 times | Joined on May 2015 @ Italy
What about PSX support? Thank you for your work!

Thread Tools

Forum Jump

All times are GMT. The time now is 19:18.