libretro / gpsp

gpSP for libretro.
GNU General Public License v2.0
55 stars 53 forks source link

Yggdra Union cannot perform battery save #189

Closed cbrumbau closed 1 year ago

cbrumbau commented 1 year ago

When you try to perform an in game save in Yggdra Union, you get the error FAILED! Save failed!

Testing was done on gpSP v0.91 2fcbdc1

andymcca commented 1 year ago

Hi, Please can you provide a save state at the point of creating the first Save? Seems like you have to play through a New Game for quite a bit before getting to this point. A save state will help massively in being able to diagnose this issue.

Thanks! Andy

andymcca commented 1 year ago

Hi, I've confirmed this issue on the latest commit - as a workaround I believe you can use the gbata utility to patch this ROM to use SRAM for saving instead of EEPROM.

This fork of gpsp will need to have the 'savetype' option for game_config.txt / gba_over.h implemented, which I believe exists in TempGBA. Once this is done, an game-specific entry should solve the problem.

Thanks Andy

andymcca commented 1 year ago

I've just done a PR to implement save type overrides. I will test with this game to see if an override entry will resolve it.

andymcca commented 1 year ago

@cbrumbau EDIT: my PR #220 doesn't fix this. BUT I have discovered the fix by reviewing some code from TempGBA4PSP-mod. Am currently talking to David about it, as it fixes Yggdra Union but need to a) understand why and b) make sure it doesn't break anything else before committing.

davidgfnet commented 1 year ago

We fixed this one right Andy? It was an issue with the memory mappings (since the ROM is 32MB in size and takes all the address space).

andymcca commented 1 year ago

@davidgfnet Yes correct, fixed now, exactly the issue you state and you corrected it in commit 6e59ca6!