Port Requests


Fasttracker II continuation by Olav Sorensen, based at least partly on the original code
https://16-bits.org/ft2.php https://16-bits.org/ft2clone-b77-code.zip
C, SDL, 32bit/64bit, Linux build instructions but it seems only little endian architectures and SSE2 required(?)

I give it a go and compiled fine after adding a pair of undeclared variables (i have written to the autor about this) clearly without SSE2 (the code support it...but clearly is slow).

The program is running but the XM modules with more than 8 voices are playing badly the rest is playing fine (MOD and s3m) i also lowered the frequency from 48000 to 44100 and unchecked all the mixing options (otherwise is slowing all the modules)..the interface is a bit tiny i need to check how to properly go fullscreen...but is using SDL2 ....so notaz OMAP SDL1 magic is not possible here.
I also discovered that is available an header able to translate most of SSE2 to NEON code here http://codesuppository.blogspot.com/2015/02/sse2neonh-porting-guide-and-header-file.html but from what i discovered is incomplete we missing some functions used in the program....and most important thing is that SSE2 code is not used on the replay routine but only on sample editor...at least from what i checked.
 
I used the SSE2 -> NEON one time, and it was working fine.

Now, for scalling on SDL2, if the software use SDL2 Renderer and not OpenGL, you can probably use SDL_WINDOW_FULLSCREEN_ DESKTOP flag at window creation to try use some automatic scaling (I used that on VCMI, I can check the diff later if you want). If it use OpenGL for rendring, using latest gl4es you can try the combinaison LIBGL_FB=2 LIBGL_FBO=1280x720 like I used on StardewValley.

For the speed issue, check the code and see if they are using "double", as it kills the performances on the cortex-a8, and try to migrate as float (not always easy to do).
 
I used the SSE2 -> NEON one time, and it was working fine.

In this software we are missing this equivalent functions:
_mm_unpackhi_epi64
_mm_shufflelo_epi16
_mm_srai_epi16
_mm_cvt_ss2si
_mm_cvtsd_si32
_mm_load_sd

Thanks a lot for the others advices, i'll take a look.
 
Last edited:
Star Ruler 2 has just been released under MIT / CC BY-NC license
https://github.com/BlindMindStudios/StarRuler2-Source
[doublepost=1532480899,1532480710][/doublepost]
In this software we are missing this equivalent functions:
_mm_unpackhi_epi64
_mm_shufflelo_epi16
_mm_srai_epi16
_mm_cvt_ss2si
_mm_cvtsd_si32
_mm_load_sd

Thanks a lot for the others advices, i'll take a look.
some progress in replacing the missing instructions with plain C code / ARM assembly?
 
That Star Ruler 2 looks good! It may be a bit intensive for the Pandora, but I'll try to build and run anyway.

For the SSE2 stuff, I haven't looked back at what I had used before...
 
some progress in replacing the missing instructions with plain C code / ARM assembly?

No sorry...i know nothing about SSE or NEON instructions.
The mixer/replay routine didn't use any of these instructions...so we could gain almost nothing in this case.
 
Last edited:
No sorry...i know nothing about SSE or NEON instructions

I have some knowledge about x86 assembly (but zerom about NEON) but i guess
_mm_unpackhi_epi64
_mm_shufflelo_epi16
_mm_srai_epi16
_mm_cvt_ss2si
_mm_cvtsd_si32
_mm_load_sd

should be replaceable, relatively painless(?!)

for instance dst[127:0]=mm_load_sd(double* MEM)
https://software.intel.com/sites/landingpage/IntrinsicsGuide/#techs=SSE2&expand=3100

should be replaceable by a function which does:
dst[63:0] := MEM[mem_addr+63:mem_addr]
dst[127:64] := 0

slower, but should work (with some bit arithmetic , ANDs and ORs)
 
I think a lot more work is needed, but this stackoverflow answer lists a lot of the relevant NEON operations you might need to use I think:

https://stackoverflow.com/questions...2-mm-unpackhi-lo-epi32-64-and-mm-shuffle-epi8


I think this is if you want to substitute on X86 SIMD instruction with an ARM SIMD instrcution and it does not map well. If you assume from the beginning there is no useful mapping and you just map it against normal assembly instructions + Bit operations (shifts, OR, ANDs) to position the result in the registers/memory addresses I think it is easier (but maybe slower).
[doublepost=1532613746,1532613619][/doublepost]Marvellous inc is a TIS 100 clone was released as open source some months ago ( https://github.com/MarvellousSoft/MarvInc) GPLv3 + CC BY-SA + LÖVE (Linux seems ready)

Sissyfight 2000 returns, crowdfunded remake of a 2000 game in HTML5 web technology. Opensourced on github under MIT / CC BY https://github.com/moonmilk/sissyfight/ http://play.sissyfight.com

OpenSC2K https://torrentfreak.com/ea-takes-down-open-source-simcity-2000-remake-180730/ but forks exist on github

Planet Blupi was released on 20th anniversary under GPLv3 with assets, SDL2/linux ported https://github.com/blupi-games/planetblupi http://devel.schroetersa.ch/blupi.org/planet.html

fluid_table_tennis a plasma pong clone in JS/HTML5 https://github.com/anirudhjoshi/fluid_table_tennis

The Communist Dogifesto GPLv3, Linux and on itchi.io https://gitlab.com/joshuagiles https://vede.itch.io/the-communist-dogifesto/TheCommunistDogifesto


VGA Civil War Strategy Game ported to SDL and modern BASIC already https://github.com/davidshq/civilwarstrategygame

https://github.com/KyoriAsh/uth05win
 
Last edited:
Higan

I know this has been suggested before but I've been playing around with Higan and I think it is superior to every other SNES emulator I have tired. It has NES, GB, and GBA also. Loading GG codes on it is a bit confusing though, at least the version I tried, but I notice the sound is a lot better than Snes9x. It does make the fans on my notebook kick on full blast though, so I don't know if the Pandora can handle it. Maybe I'll have to wait for the Pyra.
 
Last time I tried Higan on the Pandora, the SNES part was too slow for the Pandora. Don't remember the other stuff. I'll try to recheck / update my build one day...
 
Modest hardware? I see 64bits and GLES3, so it's probably not that modest. But there may be some interesting thing.
I haven't seen the link to the sourcecode?
 
Marvellous inc is a TIS 100 clone was released as open source some months ago ( https://github.com/MarvellousSoft/MarvInc) GPLv3 + CC BY-SA + LÖVE (Linux seems ready)

I got Marvellous inc to run on my Pandora. I use gl4es this time, to allow a better resizing mecanism than the one integrated in the game (it's designed to scale on larger screen than the native res of 1366x768, but on the Pandora we need the oposite).

Still, the game is barelly readeable (look at screenshot). Is it still worth a package?
marvinc03.png
 
Modest hardware? I see 64bits and GLES3, so it's probably not that modest. But there may be some interesting thing.
I haven't seen the link to the sourcecode?
Well relatively modest *Shrugs* I'm aware we don't have GLES3 on Pandora but there is maybe something useful *shrugs again*

Link: https://github.com/devmiyax/yabause
 
Back
Top