Does the app log anything inside the logs directory in the emulator folder?
I usually test it once in a while on JPCSP (2000 model) and on my PSP-2000. They both report the same issue only, mentioned below.
It should be able to run with minimal settings afaik. It just still has issues(weirdly PSP-only) with restarting the emulator, crashing the app. Haven't managed to find the cause yet, though. Everything looks fine on other platforms. Even the memory allocation module of the app reports that all data is properly deallocated during reboot. Perhaps some kind of memory corruption?
Edit: JPCSP confirms it. The app is still running, being at some function that delays seemingly infinitely. The screen isn't rendered (yet) on the PSP-1000. So it's either short on memory while running or short on memory before the display rendering is ready to use...
Btw, there's also the issue tracker for these kinds of things(it's within the links part, together with the manual).
Edit: Enabling the logging of the emulator initializing and finishing and disabling the encrypted prx instead of plain unencrypted ELF executable causes all those issues to magically disappear it seems? So the issue is somewhere in that?
Edit: Disabling the logging of the emulator initializing and finishing has the same effect.
So the issue is somewhere with the prx or it's encryption?
Edit: With the prx being compiled (both unencrypted and encrypted) instead of properly running, with the unencrypted version it gets out of memory errors!
Edit: Encrypting it while setting the heap size to keep 1024KB left for the prx to properly execute seems to fix the reboot and application initialization problem itself.
It seems that now, only when pressing select to open the settings menu while the emulator is running on the PSP and the display has the VGA screen rendered at least once on the frame buffer(it's allocated) somehow causes it to run out of memory?
Edit: Next, improving the thread manager to adhere to the SDL specs(that it needs SDL_WaitThreadEnd). Now the main function once again crashes when rebooting the emulator? Hmmm...
Edit: That was caused due to improper cleanup of the thread deletion function(waiting for it to end but not properly deallocating the entry, causing it to be reused with an invalid pointer later on).
Edit: Hmmmm... With those latest changes, it seems to somehow hang when quitting the application somehow (using the home button)? Perhaps something to do with the locking used?
Edit: After fixing the thread cleanup function to properly clean up the related thread data by waiting for the thread to quit, now there's only 1 thing left: when quitting the emulator using the home button, the emulator somehow starts hanging with the new threading setup.
Edit: Somehow related: found that the threading lock wasn't initialized during emulator initialization.
Edit: Fixed some locking issues with the new thread waiting for finish.
Edit: It no longer locks up now, but somehow it's corrupting something when exiting the game and the latest improvements of the thread manager are used? It only seems to happen if the rendering window is drawn? Before the video output is drawn, quitting the application (using the home key) happens without any errors.