Repository navigation
Gameboy battery saves #69
Description
Describe the bug
Some Gameboy games feature in game saves that allow to save game progress and resume at a later time. I am not able to resume Gameboy games using this built in native game save (battery) option. I.e. in Mario's Picross pressing start during gameplay and choosing the "Save" option does not save the games position. I believe this is because RetroESP32 does not currently support Gameboy battery saves
To Reproduce
Steps to reproduce the behavior:
- Launch Gameboy "Mario's Picross" (https://en.wikipedia.org/wiki/Mario%27s_Picross)
- During gameplay press Start button and then choose the in game Save option
- The game displays a message "Your game has been saved. You can continue later."
- Close the ROM and restart the odroid-go or alternately restart the game by pressing Menu button then choosing RESTART GAME
- The game will start over but NOT give the option to resume at the point it was last saved (from Step 3 above)
Expected behavior
On restart, the game should prompt "Get ready to continue your saved game." but there is no prompt; the save point is lost and you are forced to start the game from the beginning again. Other Gameboy emulators like Gambatte will create a .sram file and allow the game to continue where it was last saved.
Screenshots
Press start to see the SAVE screen:

This is the screen shown after choosing SAVE:

This is the expected screen to allow resume at last saved position. I am able to get to this screen if I DO NOT restart the odroid-go.

Additional context
I am running the latest RetroESP32 v2.4. I would LOVE if .srm files were created so I could easily transfer native battery saves between different consoles / emulators and resume where I last left off. I don't think I can do this easily or at all using the RetroESP32 save file format (I believe this is similar to save STATE (NOT battery save) in other emulators like Gambatte).
I found some discussion of this here OtherCrashOverride/go-play#32 (comment)
Link to Libretro Gambatte emulator information: https://docs.libretro.com/library/gambatte/
Link to Gambatte github: https://github.com/libretro/gambatte-libretro
Activity
32teeth commentedon Mar 24, 2020
Thanks for the in depth response
We have been looking into restoring save files that the actual game produces in battery
For the time being, you will need o use the in game menu
Select Save Game / Overwrite Game
Again, thank you, please know we continue to work on this
shar33f commentedon Mar 24, 2020
You're welcome, and BTW my level of detail is directly proportionate to the level of boredom I have being stuck at home 😆. First of all, thank you so much for the hard work you are putting into the firmware for this amazing little device! You guys are doing a great job!! Now, for me, ideally I would have access to the raw .srm file that is written when I choose to save my game, this way I can easily copy the .srm between devices / emulators and have the ability to resume my game on any of my devices. Are you planning on writing out the raw .srm file to disk in future?
[-]Gameboy games battery saves[/-][+]Gameboy battery saves[/+]32teeth commentedon Mar 26, 2020
LOL, no kidding with WFH.
The way most of the emulators work is they produce a
.savfile not an.srmthe way RetroPie / Lakka / RetroArch doIt's something worth looking into.
shar33f commentedon Mar 27, 2020
Yes, I know exactly what you mean. I think those .sav are sometimes .state in other emulators. The thing is, I have found that sometimes these .sav and .state are not always compatible between different emulators, whereas the .srm always is. So for me, just makes things easier and simpler to be able to copy the .srm file between any system or emulator and not have to worry about converting it. Just my use case, and I guess this isn't really an issue unless you have lots and lots of different devices and emulators (which I do 🙄 lol) and the need to save and resume games across them all.
PGuitarnut commentedon Apr 24, 2020
Wow love this thread! Yes please consider making the sav/srm files transferrable between platforms! I would buy this product in a heartbeat if this was possible as the specs on your Odroid Advance are very nice!
Otherwise it looks like I may have to go with the RG350 which does seem to generate battery saves.
But otherwise Ordoid Advance > RG350 in every way.