Skip to content

Gameboy battery saves #69

Open
Open

Description

@shar33f

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:

  1. Launch Gameboy "Mario's Picross" (https://en.wikipedia.org/wiki/Mario%27s_Picross)
  2. During gameplay press Start button and then choose the in game Save option
  3. The game displays a message "Your game has been saved. You can continue later."
  4. Close the ROM and restart the odroid-go or alternately restart the game by pressing Menu button then choosing RESTART GAME
  5. 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:
00000IMG_00000_BURST20200323215705803_COVER

This is the screen shown after choosing SAVE:
00000IMG_00000_BURST20200323215716510_COVER

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.
00000IMG_00000_BURST20200323220335397_COVER

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

  1. 32teeth commented on Mar 24, 2020

    @32teeth
    Member

    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

    • Menu Key on Odroid Go (What you have in the pictures)
    • Start+Select on Game Boy Retro ESP32

    Select Save Game / Overwrite Game

    Again, thank you, please know we continue to work on this

  2. shar33f commented on Mar 24, 2020

    @shar33f
    Author

    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?

  3. changed the title [-]Gameboy games battery saves[/-] [+]Gameboy battery saves[/+] on Mar 25, 2020
  4. 32teeth commented on Mar 26, 2020

    @32teeth
    Member

    LOL, no kidding with WFH.

    The way most of the emulators work is they produce a .sav file not an .srm the way RetroPie / Lakka / RetroArch do

    It's something worth looking into.

  5. shar33f commented on Mar 27, 2020

    @shar33f
    Author

    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.

  6. self-assigned this
    on Mar 30, 2020
  7. PGuitarnut commented on Apr 24, 2020

    @PGuitarnut

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions