libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.22k stars 1.82k forks source link

PSP: Pressing the menu combo often hangs #10247

Open bmaupin opened 4 years ago

bmaupin commented 4 years ago

Description

While in a core, pressing the menu combo button(s) to return to the menu will often instead cause RetroArch to completely freeze. The screen still shows the core but it will be frozen. The only option is to press the PSP home button and completely exit RetroArch; no other buttons work.

This happens to me on average once every play session of ~30 minutes. The only times it occured while I was doing development, I didn't have any breakpoints set and Ctrl+C in gdb wasn't able to stop the process, so I'm not sure at what point in the code this is happening. Maybe some kind of race condition?

Expected behavior

RetroArch should switch to the menu.

Actual behavior

RetroArch stays frozen at the core.

Steps to reproduce the bug

Unfortunately I haven't been able to consistently reproduce this. The best way to reproduce is to play for 30 minutes or so and return to the menu frequently. Save state spamming helps :)

Bisect Results

N/A

Version/Commit

You can find this information under Information/System Information

Environment information

Thanks!

Shassk commented 4 years ago

Same here on 1.8.5 stable / PSP Go 6.60. Pressing Start has ~50% chance to hang RA completely.

fjtrujy commented 2 years ago

Can you tell me in what cores has you been suffering this?

bmaupin commented 2 years ago

I haven't played it in a long time, mostly because of this issue. If I remember correctly, I saw it in multiple cores, in particular the ones I was working on at the time.

Based on this comment and my memory, I think I saw this issue in Picodrive and gpSP in particular. Neither ran at full speed, which is why I wondered if this issue was related to your other comment.

Thanks!

Shassk commented 2 years ago

I've used RA almost exclusively for Shantae since it's cores were slower than standalone emulators, but had fewer visual glitches. So it's either GBC or GBA cores. Not sure which ones tho, but definitely not GearBoy. Unlikely gpSP, I've used it separately. So probably one of mGBA/TGB Dual/Gambatte. Can install and check again if you need to. Let me know it you do.

LibretroAdmin commented 2 years ago

This might be presumptuous of me to suggest but honestly you should probably not be using anything other than the Gambatte core for Game Boy games on the PSP, and QuickNES for NES. Any other GB or NES core is almost certain not to be fast enough for something as weak as the PSP (a random $30 Chinese retrogame emulator handheld these days has 5 times the CPU performance of a PSP for emulators, its that weak).

These standalone emulators you compare it to are likely some decade old emulators right? Most likely stuff like gnuboy and whatnot. I don't think we even have cores for that so no idea how they'd stack up performance wise. All I know is that Gambatte and QuickNES are solid enough performers on PSP that make them competitive with most of those old outdated emulators on PSP for GB/NES

Shassk commented 2 years ago

with completely different accuracy/performance targets

Which I also pointed at: Shantae run more or less properly only on RA cores, but not at full speed. While standalone gpSP Kai (as well as some others) failed and gave major visual glitches even if running at full speed. So probably both of us right, just we used different words to describe that. P. S. Didn't try other games tho: gpSP provided much more simple tools for GBA emulation + RA has some problems saving settings on PSP Go when being stored on Go's internal memory (I had to manually restore setting from a file in internal 16 GB memory every launch), so I didn't stick with RA for long after finishing Shantae. P. P. S. To be fair tho, it's not the only case when homebrew has problems with PSP Go's memory: different builds of cheats plugin either always show the same game ID or fail to open with any homebrew app.

LibretroAdmin commented 2 years ago

So PSP Go operates differently from regular PSP and requires different bugfixes?

Shassk commented 2 years ago

At least in terms of memory structure. As I already mentioned, PSP Go has 16 GB of internal memory which can be used to store any data (including games and apps) just like a memory card and allows to use Go w/o cards at all. And it's path in filesystem (ef0:/) is different from the path of memory card (ms0:/). Quite a lot of apps always try to use memory card (ms0:/) as default location for loading/saving files since all non-Go models have no built-in memory and are required to have a memory card installed. And expectedly fail when can't find any while having no idea about a built-in one.