libretro / FBNeo

FBNeo - We are Team FBNeo.
https://neo-source.com
Other
224 stars 134 forks source link

[FunKey S][1.0.0.03] Games do not load despite the correct CRC32 #818

Closed DrUm78 closed 3 years ago

DrUm78 commented 3 years ago

Hardware: FunKey S (SoC V3s ARM Cortex A7-A clocked @ 1.2GHz) Software: sdlretro for the frontent (https://github.com/FunKey-Project/sdlretro) and FBNeo 1.0.0.03 for the Libretro core

I can't launch any game, even if the CRCs match perfectly the ones in https://github.com/libretro/FBNeo/tree/master/dats. All it does is bringing me back to the desktop (GMenu2X). I compiled the core with the last sources (955d9f7), so 1.0.0.03 I guess. Windows port works fine with 1.0.0.02 roms (this port has not been released in 1.0.0.03 yet so I can't compare with the exact same romset).

Here is the only error message I get in GMenu2X logs: [07-05 08:36:26 I] Unhandled env: 0x22 [07-05 08:36:26 I] Unhandled env: 0x3E

Anyone has any idea about this issue?

Thanks.

barbudreadmon commented 3 years ago

This is not a core issue since the core works with the reference frontend (RetroArch) on dozens of platform, including every arm SoCs tested. Your best bet is to ask support from the author(s) of that frontend, which is undoubtly at fault.

barbudreadmon commented 3 years ago

I just learned that your device only has 64MB ram, if i had to guess i would say that's your problem here, try building a "light" core using those instructions :

make -C src/burner/libretro LIGHT=1 generate-files
make -C src/burner/libretro LIGHT=1

It will remove support for tons of higher-end systems (cps3, pgm, midway, ...), making the core smaller. That's what's done for nintendo 3ds which has about the same memory limitation.

DrUm78 commented 3 years ago

Thanks a lot for your help. Unfortunately, even with the core shrinked from 48MB to 40MB (34MB when stripped), it still does not work and I get the same error message. BTW, Libretro cores like ScummVM (70MB) works perfectly despite the 64MB RAM limitation.

barbudreadmon commented 3 years ago

Hmmm, i tried adding a new platform target, with the cflags i've seen at https://github.com/FunKey-Project/fbalpha2012-libretro/blob/master/svn-current/trunk/makefile.libretro, maybe it'll help :

make -C src/burner/libretro platform=funkey generate-files
make -C src/burner/libretro platform=funkey

If it doesn't, i can only think of some kind of frontend issue, FBNeo is using everything the libretro api has to offer, and maybe one of those features is breaking that frontend.

DrUm78 commented 3 years ago

Nope it does not work. What you committed is in fact the same as the "classic_armv7_a7" which I already tried but thanks for your help on this, much appreciated!

barbudreadmon commented 3 years ago

[07-05 08:36:26 I] Unhandled env: 0x22 [07-05 08:36:26 I] Unhandled env: 0x3E

If i had to guess, it means the frontend doesn't handle the 0x22 and 0x3E api calls, which would be subsystems and auto-frameskip. Those are optional and wouldn't be a problem on older RetroArch versions that don't support them, but maybe your frontend isn't handling missing api calls very well.

DrUm78 commented 3 years ago

Ok, thanks for the info. Maybe the light Libretro frontend (SDLRetro) I use does not handle that well yes, thanks for the help!

DrUm78 commented 3 years ago

@barbudreadmon For some reason, now the core launches fine on the FunKey S with the last commits. Anyway, it's way slower than FBA 2012 so I'll keep using this one, but just would like to let you know.

Thanks for your help.

barbudreadmon commented 3 years ago

Hmmm, i fixed an issue with macro code this morning, it was only affecting neogeo games and fighting games with street fighter layouts, maybe that's the only games you were trying ? Apparently, that issue was causing random crashes on 32 bits android systems, maybe that funkey device is android-based ?

FWIW, there are tips that can help with performances : https://github.com/libretro/FBNeo/tree/master/src/burner/libretro#game-xxx-runs-slowly-why-

DrUm78 commented 3 years ago

Yeah that one definitely fixed the issue: https://github.com/libretro/FBNeo/commit/a8a2a7cecc99c18061851d23acd59fe5a1ddd942. I just tried again with "Input" and that failed. I also tried all the workaround to speed up emulation but as it's a more recent and accurate Final Burn, it's way slower but that's not a problem for me, I will continue to use FBA 2012 ahnyway. At least now it works, thanks.

FYI I only tried X-Men: Children of the atom (CPS2) and the FunKey S is a Linux-based ARMv7 device (not Android though).

barbudreadmon commented 3 years ago

FYI I only tried X-Men: Children of the atom (CPS2)

Yeah, that one uses the street fighter layout (3 kicks & 3 punchs), so it'll get affected by the macro typo, i'm glad we finally figured out where this crash came from