Josh86 wrote: ↑
Mon Oct 05, 2020 11:36 pm
Are the implemented libretro cores the ones not working consistently then if that's the case?
RetroRun is a libretro host custom written for GO-Advance (by me). The "F1" issue affects the emulators using it:
* Atari 2600
* Atari 5200
* Sega Master System
* Sega Megadrive/Genesis
* Sega CD
* Nintendo Entertainment System
* Super Nintendo
* Turbografx 16
* Turbografx 16 CD
* MAME2003 Plus
* Dreamcast (does not have save state capability. included in this list for completeness)
The GameBoy systems use a standalone emulator: mgba (code posted on my github). This was done for performance (GBA) and presentation (pixel perfect scaling) reasons.
N64 and PSP are also standalone emulators (mupen64plus / PPSSPP also on my github). This was done for performance reasons.
Atari7800 is also a standalone emulator. This was done since I was unable to get sound output using the libretro core version. I have since determined the issue is due to its use of a legacy libretro sound API and corrected the issue. It remains standalone today as a simple demonstration of using the libgo2 API.
Adding multiplayer support requires additional code for an emulator. For RetroRun, this was strait forward as the multiplayer system was also written by me. For mupen64plus, it was daunting due to the complex execution path. For PSP, its not possible since it is a single player system (no second controller). The libretro version of Atari7800 will likely be used in the future for multiplayer support via RetroRun.
The "F1" (override save state) feature is intended to be temporary. A future version of RetroRun will include a menu and offer save state management. Since this requires a GUI library, it was postponed until either an existing GUI library can be selected or a custom library written. The menu is expected to replace all "hot keys" and additionally offer "disk change" support. There is currently no schedule for when this change will take place.