Closed asoderq closed 2 years ago
That warning stems from a wrong extern declaration in platform/libretro/libretro.c, just change the return type to uint32_t.
However, I have no idea why all those symbols are reported missing. The functions are definitely there, they are declared and defined globally, and the object file containing them is included in the link instruction. Really strange.
Ah, I just saw that pico/32x/memory.c and pico/32x/sh2soc.c are the only files compiled with -fno-lto. The reason for this is roughly explained in the Makefile (just look for no-lto). Seems like you need to take out that -fno-lto, and the arm64 declaration for the SH2 SR register in cpu/sh2/compiler.h. That will however come at the cost of being a bit slower for 32X.
Thanks for the hints. Wasn't sure what to change in cpu/sh2/compiler.h, so I decided to build it without lto which also works. However Demons of Asteborg save states are still broken, that was the reason I wanted to build it, to test that.
How exactly was your test scenario?
It does seem to have improved though, as the graphics no longer are glitchy.
Are you using the games' built-in save function, or are you saving the emulator state via retroarch?
I am using save state via retroarch.
Ah ok. The fix I took over only fixes in-game saving/loading via the save ram on the cart. I was not aware that save/load via the emulator isn't ok. However, working on that is on my work list for 1.99 anyway.
Could you possibly check with a current build from my repo? I improved save/load of the VDP state, that might at least improve the case here.
I will try it, at latest during the weekend.
Nope, still doesn't work.
Hmm, I fixed an issue where save/load of the bad apple demo failed due to incomplete restore of the ssf2 bank mapping. I suspect this might also be the case for your issue. Could you check this again please?
Yes, it seems to work now. Thanks a lot!
Fixed as a sideeffect by f8dba3f. Thanks for testing.
Hi Irixxxx,
I am trying to build a slightly modified target of classic_armv8_a35 in Makefile.libretro. Only thing I have changed are some flags that my compiler didn't like, namely: -marm -mfpu=neon-fp-armv8 -mfloat-abi=hard. I get errors when linking the library, example:
The list goes on, but all seems related to 32x. Any idea what is wrong, or what I am doing wrong? I am using a debian based arm64 qemu chroot, installed according to these instructions: https://github.com/christianhaitian/arkos/wiki/Building#to-create-debian-based-chroots-in-a-linux-environment
EDIT: Full log is here: https://pastebin.com/HCvyuGJD