libretro / gambatte-libretro

Hard fork of Gambatte to the libretro API.
http://sourceforge.net/projects/gambatte/
GNU General Public License v2.0
104 stars 79 forks source link

PSP builds broken since Retroarch 1.10.1 #230

Open Animus777 opened 2 years ago

Animus777 commented 2 years ago

When loading any gb rom with 671c82e version (or newer), Retroarch crashes and PSP shuts down. Everything works fine in 66ecfc2 bundled with previous Retroarch version 1.10.0

LibretroAdmin commented 2 years ago

You will need to bisect this more thoroughly. First of all, we need any tests conducted against latest RetroArch nightlies. A version that old is going to be impossible to find a needle in a haystack.

It would be far more productive if we had an idea of which Gambatte commit caused it to no longer work using the latest RetroArch nightlies.

Animus777 commented 2 years ago

@LibretroAdmin it doesnt work with latest Retroarch nightlies for PSP. I wouldn't call it a needle in a haystack. I narrowed down the issue to these commits:

PSP

I'm not a developer but I think 671c82e is the culprit. Others seem like harmless translation changes

LibretroAdmin commented 2 years ago

There is no way 671c82e affected anything. That's just adding a Makefile target for PSL1GHT/PS3. Has nothing to do with the PSP port.

We could maybe exclude the translations out of the PSP core though. The PSP doesn't have a lot of RAM (32MB on lower end models, 64MB on 2000 series and up), so it's best we don't include unnecessary stuff in.

Harry7228 commented 1 year ago

Hi, I have exactly the same problem with RetroArch running a GB rom and then crashing and shutting down on my PSP3000. (also tested on a PSP2000)

I was now testing the last stable version of RetroArch v1.14.0 (Gambatte v0.5.0 7e02df6), it has the same issue. When i swap the core with the version of 66ecfc2, it works perfectly. All versions after that don't work.

Zadeis commented 1 year ago

I'll add some information to hopefully help in debugging this. I used PPSSPP version 1.15.4 running 1.10.1 where the problem started. I'm using linux and started it via command line so I could see the log print out.

16:03:220 user_main E[SCEAUDIO]: HLE/sceAudio.cpp:446 80268002=sceAudioSRCChRelease(): output busy

16:03:522 user_main E[FILESYS]: FileSystems/DirectoryFileSystem.cpp:58 DirectoryFileSystem::OpenFile('/PSP/RETROARCH/CONFIG/Gambatte/Gambatte.cfg'): FAILED, 2 - access = 1 ''

16:03:537 user_main E[FILESYS]: FileSystems/DirectoryFileSystem.cpp:58 DirectoryFileSystem::OpenFile('/PSP/RETROARCH/CONFIG/Gambatte/GameBoy Color.cfg'): FAILED, 2 - access = 1 ''

16:03:537 user_main E[FILESYS]: FileSystems/DirectoryFileSystem.cpp:58 DirectoryFileSystem::OpenFile('/PSP/RETROARCH/CONFIG/Gambatte/Legend of Zelda, The - Oracle of Ages (USA).cfg'): FAILED, 2 - access = 1 ''

16:03:572 user_main E[MEMMAP]: Core/MemFault.cpp:292 Bad memory access detected and ignored: 00001528 (0x7fed00001528)

16:03:572 user_main E[MEMMAP]: Core/MemFault.cpp:292 Bad memory access detected and ignored: 0000120c (0x7fed0000120c)

16:03:705 user_main E[MEMMAP]: Core/MemFault.cpp:292 Bad memory access detected and ignored: 0000131c (0x7fed0000131c)

16:03:705 user_main E[MEMMAP]: Core/MemFault.cpp:292 Bad memory access detected and ignored: 00001320 (0x7fed00001320)

16:03:705 user_main E[MEMMAP]: Core/MemFault.cpp:292 Bad memory access detected and ignored: 00001320 (0x7fed00001320)

16:03:705 user_main E[MEMMAP]: Core/MemFault.cpp:292 Bad memory access detected and ignored: 00001318 (0x7fed00001318)

16:03:705 user_main E[MEMMAP]: Core/MemFault.cpp:292 Bad memory access detected and ignored: 681eba76 (0x7fed681eba76)

16:03:705 user_main E[MEMMAP]: Core/MemFault.cpp:267 Bad execution access detected, halting: 681eba72 (last known pc 681eba72, host: 0x7fed681eba72)

I have also attached a screenshot for what PPSSPP displays upon Retroarch Gambatte crashing: RETR00970_00000

If anyone wants more information to assist with the problem let me know.

Update: I just did the same thing on the latest retroarch build in PPSSPP and it's essentially the same error but with different memory locations by the looks of it. It doesn't mention any config problems with the latest build so not sure why that's happening on the older build.