Reply
Thread Tools
Posts: 19 | Thanked: 34 times | Joined on Aug 2017
#31
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.

Code:
Files emumaster/src/emumaster.pro.user and emumastermerpl/src/emumaster.pro.user differ
Files emumaster/src/emumaster.pro and emumastermerpl/src/emumaster.pro 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.

Thanks.
 

The Following 2 Users Say Thank You to merpl For This Useful Post:
Posts: 456 | Thanked: 1,580 times | Joined on Dec 2009
#32
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.
Hi,

your best bet is likely to use the initial commit that was uploaded to github:
https://github.com/ruedigergad/emuma...76c5e918d9a26d

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.



Cheers,

Wonko
__________________

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

The Following 4 Users Say Thank You to Wonko For This Useful Post:
Posts: 456 | Thanked: 1,580 times | Joined on Dec 2009
#33
PS:
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:
https://cgit.freedesktop.org/gstream...ing-to-1.0.txt
Nonetheless, I think it is best to start with the initial commit to my github emumaster repository and start/fork from there.
__________________
 

The Following User Says Thank You to Wonko For This Useful Post:
Posts: 456 | Thanked: 1,580 times | Joined on Dec 2009
#34
PPS:
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: http://repo.merproject.org/obs/home:...mv7hl/armv7hl/

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 7 Users Say Thank You to Wonko For This Useful Post:
Posts: 456 | Thanked: 1,580 times | Joined on Dec 2009
#35
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 8 Users Say Thank You to Wonko For This Useful Post:
Posts: 456 | Thanked: 1,580 times | Joined on Dec 2009
#36
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:
Code:
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;
                setDpadAreaDiagonalSize(m_diagonalAreaSize);
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:
Code:
[General]
touchAreaDiagonalSize=128
touchAreaSize=512
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 7 Users Say Thank You to Wonko For This Useful Post:
Posts: 387 | Thanked: 707 times | Joined on May 2015 @ Italy
#37
What about PSX support? Thank you for your work!
 

The Following 2 Users Say Thank You to claustn For This Useful Post:
Posts: 19 | Thanked: 34 times | Joined on Aug 2017
#38
Hi Wonko, thanks for your work.

I grabbed the latest emumaster from: https://build.merproject.org/package...latest_armv7hl

Edited the sizes to be 1/2 the ones you indicated (956x480 screen)

Starting a snes emulator: It found the .smc file, but not the .sfc files.

Copied a genesis .md to the pico directory and pico didn't find the file.

Clicking the snes game got a black screen with onscreen controls on left and right and a square button and a 'play' button, but game did not start after hitting 'play'.

Clicking in upper-left brought up a preferences page where i tried various options like disabling audio, fps counter, changing frameskip and restarting. Nothing got the game started.

Perhaps the problem lies with TheKit's port of SFOS to Droid 4? I think he uses framebuffer for graphics.

Last edited by merpl; 2017-12-16 at 15:11.
 

The Following User Says Thank You to merpl For This Useful Post:
Posts: 456 | Thanked: 1,580 times | Joined on Dec 2009
#39
Hi,

Originally Posted by claustn View Post
What about PSX support? Thank you for your work!
Unfortunately, I never got around to adjust the PSX emulator part.

Originally Posted by merpl View Post
Hi Wonko, thanks for your work.
...
Perhaps the problem lies with TheKit's port of SFOS to Droid 4? I think he uses framebuffer for graphics.
I think this is the problem.
A GLPainter is used for drawing the content:
https://github.com/ruedigergad/emuma...se/hostvideo.h

Unfortunately, I am super busy with other things these days and cannot even foresee when/if I will be able to look into these things.

Sorry for the somewhat bad news but I still hope the answers are helpful.



Cheers,

Wonko


PS:
And also thanks for the thanks.
It is always nice to hear that something is appreciated.
__________________

Last edited by Wonko; 2017-12-17 at 17:28.
 

The Following 4 Users Say Thank You to Wonko For This Useful Post:
Posts: 456 | Thanked: 1,580 times | Joined on Dec 2009
#40
PPS:
I managed to update the build with added PSX and NES support.
The version number now is 0.3.2 and you can get it from the usual location.

However, please note that this was done very much in a rush without any testing and I had to do quite some changes.
Thus, I don't know at all if this works.

PPPS:
I added a "stable" branch to the repository which includes all the latest changes, including the patches etc.:
https://github.com/ruedigergad/emumaster/tree/stable
__________________
 

The Following 8 Users Say Thank You to Wonko For This Useful Post:
Reply

Thread Tools

 
Forum Jump


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