Re: NEW: emulation/ppsspp-1.3

2017-11-08 Thread Ryan Freeman
On Sun, Jun 18, 2017 at 11:28:15AM +0200, Jakub Skrzypnik wrote:
> Good morning,
> 
> Today I ported the PPSSPP, an emulator of Sony PlayStation Portable
> console.
> 
> Runs actually neat, even on integrated graphics.
> Tested with:
>  - cube.elf (the spinning 3D cube program from PPSSPP homepage)
>  - Suicide Barbie by The Black Lotus
>  - flower demo by Moppi Productions
>  - Bloody Memories by TRSi and TiTAN
> 
> All of these ran without major hiccups, but I haven't fiddled with
> upscaling and other cany effects which can be enabled.
> 
> Build system is pretty messy, I wasted few hours for non-defining
> BSD_VISIBLE definition (added it to C{,XX}FLAGS finally), even if this
> code has signs of some care about OpenBSD (doas a special #ifdefs for
> us at some moments).
> 
> From DESCR:
> > PPSSPP is an Sony PlayStation Portable emulator using HLE (high-Level
> > Emulation), so you don't need a operating system's ROM to use it.
> 
> PS: I used my own storage for DISTFILES, becuase the Git source tree
> contains about 10 submodules, not needed by any other software. It
> would be useless to deal with them as separate distfiles, since all of
> these are synced with the same versioning schema.

Hi, I saw this get committed to the ports tree by bently@ and gave it
a whirl.  Really cool stuff!  I can get my GTA fix while openrw comes
together now ;-)

Thanks for your efforts on this Jakub,  others for helping, and bently@
for committing!

-ryan



Re: NEW: emulation/ppsspp-1.3

2017-06-21 Thread Jan Beich
Jakub Skrzypnik  writes:

> USE_WXNEEDED = Yes

JIT supports W^X, see https://github.com/hrydgard/ppsspp/issues/8943
Maybe try the following instead

--- Common/MemoryUtil.cpp~
+++ Common/MemoryUtil.cpp
@@ -281,7 +281,7 @@ void FreeAlignedMemory(void* ptr) {
 bool PlatformIsWXExclusive() {
// Only iOS really needs this mode currently. Even without block 
linking, still should be much faster than IR JIT.
// This might also come in useful for UWP (Universal Windows Platform) 
if I'm understanding things correctly.
-#if defined(IOS) || PPSSPP_PLATFORM(UWP)
+#if defined(IOS) || PPSSPP_PLATFORM(UWP) || defined(__OpenBSD__)
return true;
 #else
// Returning true here lets you test the W^X path on Windows and other 
non-W^X platforms.



Re: NEW: emulation/ppsspp-1.3

2017-06-21 Thread Jan Beich
Jakub Skrzypnik  writes:

> Build system is pretty messy, I wasted few hours for non-defining
> BSD_VISIBLE definition (added it to C{,XX}FLAGS finally),

Have you tried to remove -D_XOPEN_SOURCE* lines in CMakeLists.txt?
Each BSD seems to have slightly different way to hide namespace
pollution to be POSIX-ly correct.

>
> From DESCR:
>> PPSSPP is an Sony PlayStation Portable emulator using HLE (high-Level
>> Emulation), so you don't need a operating system's ROM to use it.
>
> PS: I used my own storage for DISTFILES, becuase the Git source tree
> contains about 10 submodules,

PPSSPP v1.3 only needs 3 distfiles while v1.4 - only 6. It should build
fine without downloading submodules for dx9sdk, ffmpeg, pspautotests or
glslang (before v1.4).

> LIB_DEPENDS = graphics/ffmpeg \

Beware of https://github.com/hrydgard/ppsspp/issues/9026

>   graphics/png\

PPSSPP v1.3 has bundled libpng v1.7.0beta35 which is affected by
CVE-2016-10087, CVE-2015-8472, CVE-2015-8126, CVE-2014-9495, CVE-2015-0973.
Maybe unbundle e.g.,

https://svnweb.freebsd.org/ports/head/emulators/ppsspp/files/patch-system-libpng16?revision=422387=markup

>archivers/snappy\

libzip can also be unbundled.

> CONFIGURE_ARGS =-DUSE_SYSTEM_FFMPEG=True 

arm* may also want -DUSING_EGL=off as EGL doesn't seem to work with X11.
aarch64 would have to wait for v1.4 or later.



NEW: emulation/ppsspp-1.3

2017-06-18 Thread Jakub Skrzypnik
Good morning,

Today I ported the PPSSPP, an emulator of Sony PlayStation Portable
console.

Runs actually neat, even on integrated graphics.
Tested with:
 - cube.elf (the spinning 3D cube program from PPSSPP homepage)
 - Suicide Barbie by The Black Lotus
 - flower demo by Moppi Productions
 - Bloody Memories by TRSi and TiTAN

All of these ran without major hiccups, but I haven't fiddled with
upscaling and other cany effects which can be enabled.

Build system is pretty messy, I wasted few hours for non-defining
BSD_VISIBLE definition (added it to C{,XX}FLAGS finally), even if this
code has signs of some care about OpenBSD (doas a special #ifdefs for
us at some moments).

From DESCR:
> PPSSPP is an Sony PlayStation Portable emulator using HLE (high-Level
> Emulation), so you don't need a operating system's ROM to use it.

PS: I used my own storage for DISTFILES, becuase the Git source tree
contains about 10 submodules, not needed by any other software. It
would be useless to deal with them as separate distfiles, since all of
these are synced with the same versioning schema.


ppsspp-1.3.tgz
Description: application/compressed-tar