Author Topic: Goomba saving  (Read 18900 times)

0 Members and 1 Guest are viewing this topic.

Offline Alnt88

  • Newbie
  • *
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: Goomba saving
« Reply #15 on: September 09, 2016, 07:18 AM »
I'm trying to play Pokémon Gold Version and I can't get it to save. If I browse to the emusave folder, I see a save file on the Everdrive, but when I start the game it doesn't load the save. Is this a known issue? I tried a few other GB games and they seemed to save fine.

Offline SmokeMonster

  • Puzzle Bobbler
  • Sr. Member
  • ****
  • Posts: 412
  • Karma: +61/-0
  • tsst tchh chh ch ch ch
    • View Profile
    • SmokeMonster YouTube Channel
Re: Goomba saving
« Reply #16 on: September 09, 2016, 07:51 AM »
If saves don't work for a particular game, I think that save-states should still be an option. Press L&R in-game and try saving the state there.

Offline Dwedit

  • Newbie
  • *
  • Posts: 9
  • Karma: +7/-0
    • View Profile
    • Dwedit's Website
Re: Goomba saving
« Reply #17 on: September 09, 2016, 05:43 PM »
Hello guys, I don't know anything about how the Everdrive itself handles saving, I can only guess that it acts like the M3, SuperCard, or other flash cartridges.  But I do know everything about how Goomba Color works (having made it and all).

Goomba Color was originally designed to work on these things:


Flash cartridges provide 64KB of Save RAM to a running game.

Goomba Color divides up the 64K of SRAM like this: 56K for storing the emulator's compressed save files, and 8K for storing the save data for the game that's currently running.
* For games which have a save size of 8K or less, having the 8K saved at the end is enough to let you turn off the power at any time.
* But many games (like Pokemon) use a save size of 32K instead.  You will need to press L+R to make the emulator save the game's SRAM to a file.  Doing an additional save state at this point is not required.
« Last Edit: September 09, 2016, 05:46 PM by Dwedit »

Offline CharlieF

  • Newbie
  • *
  • Posts: 34
  • Karma: +2/-0
    • View Profile
Re: Goomba saving
« Reply #18 on: September 09, 2016, 10:32 PM »
Fanboy: Squeel! OMG! I am your biggest fan! Thank you so much for the emulators you made! They have provided me and my family with countless hours of enjoyment! I want to have your children!!!

Adult Man: Hey, thanks for the additional information! Is there a FAQ anywhere on stuff just like this for your emulators? If not, somebody should make one, maybe me. Also, the EverDrive GBA 1.11 OS currently puts out only 32K save files. Does this mean that some of the save functionality programmed into goomba color is going to be lost in a save of this size? In other words, if more than one game is compiled on a rom, I would think the ability to make save states for each in the compilation might be impaired. Would not having any games compiled together, meaning just one game running on goomba color, mean that 32K would work for normal saves or L+R saves?


Hello guys, I don't know anything about how the Everdrive itself handles saving, I can only guess that it acts like the M3, SuperCard, or other flash cartridges.  But I do know everything about how Goomba Color works (having made it and all).

Goomba Color was originally designed to work on these things:


Flash cartridges provide 64KB of Save RAM to a running game.

Goomba Color divides up the 64K of SRAM like this: 56K for storing the emulator's compressed save files, and 8K for storing the save data for the game that's currently running.
* For games which have a save size of 8K or less, having the 8K saved at the end is enough to let you turn off the power at any time.
* But many games (like Pokemon) use a save size of 32K instead.  You will need to press L+R to make the emulator save the game's SRAM to a file.  Doing an additional save state at this point is not required.
« Last Edit: September 09, 2016, 10:47 PM by CharlieF »

Offline Dwedit

  • Newbie
  • *
  • Posts: 9
  • Karma: +7/-0
    • View Profile
    • Dwedit's Website
Re: Goomba saving
« Reply #19 on: September 10, 2016, 03:51 AM »
If Goomba doesn't get full 64K save files, bad things happen once the filesystem exceeds 32K in size.  It will selfdestruct the filesystem or possibly crash the next time it's booted.
It will also use a garbage save for the 8K save file, regardless of the size of the filesystem.  (Pressing L+R will commit the game save to the filesystem, and you can power off while at the L+R menu)
Goomba really does need 64K SRAM save files to avoid all the problems.

The only exception is if it's running in a GBA emulator that only provides a 32K size SRAM chip, like NO$GBA.  Goomba can detect when there is 32K of SRAM, and the second 32K is a mirror of the first 32K, so it limits its own save size to 32K accordingly.
Flash cartridges almost never provide a 32K save that is mirrored twice, instead they provide a full 64K save.  Then the flash cartridge's menu system might decide to only write the first 32K to your SD card and ignore the second 32K.  How would Goomba know if the menu system wasn't planning on saving that second 32K...
There is a way to see if the cartridge is providing a true 32K size save mirrored across the 64K address space, look at the total size it reports in the save state menu.  If it says there is 56K total, then it thinks it's running on a 64K save.  If it says there's 24K total, it thinks it's running on a 32K save.

Please note that I do not know whether the everdrive is providing a full 64K size save file or not.
« Last Edit: September 10, 2016, 03:55 AM by Dwedit »

Offline Alnt88

  • Newbie
  • *
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: Goomba saving
« Reply #20 on: September 10, 2016, 04:16 AM »
Thanks for the reply, Dwedit. This method works reliably for me! Is there any chance that a future update could fix this issue and automatically write the save to file?

Offline KRIKzz

  • Administrator
  • Hero Member
  • *****
  • Posts: 3385
  • Karma: +514/-2
    • View Profile
Re: Goomba saving
« Reply #21 on: September 10, 2016, 08:20 PM »
If Goomba doesn't get full 64K save files, bad things happen once the filesystem exceeds 32K in size.  It will selfdestruct the filesystem or possibly crash the next time it's booted.
It will also use a garbage save for the 8K save file, regardless of the size of the filesystem.  (Pressing L+R will commit the game save to the filesystem, and you can power off while at the L+R menu)
Goomba really does need 64K SRAM save files to avoid all the problems.

The only exception is if it's running in a GBA emulator that only provides a 32K size SRAM chip, like NO$GBA.  Goomba can detect when there is 32K of SRAM, and the second 32K is a mirror of the first 32K, so it limits its own save size to 32K accordingly.
Flash cartridges almost never provide a 32K save that is mirrored twice, instead they provide a full 64K save.  Then the flash cartridge's menu system might decide to only write the first 32K to your SD card and ignore the second 32K.  How would Goomba know if the menu system wasn't planning on saving that second 32K...
There is a way to see if the cartridge is providing a true 32K size save mirrored across the 64K address space, look at the total size it reports in the save state menu.  If it says there is 56K total, then it thinks it's running on a 64K save.  If it says there's 24K total, it thinks it's running on a 32K save.

Please note that I do not know whether the everdrive is providing a full 64K size save file or not.

EverDrive provides mirrored 32KB sram

Offline Dwedit

  • Newbie
  • *
  • Posts: 9
  • Karma: +7/-0
    • View Profile
    • Dwedit's Website
Re: Goomba saving
« Reply #22 on: September 10, 2016, 09:08 PM »
Thanks for the information.  Looks like it should detect the 32K size save and adjust accordingly.  Might run out of space quickly when saving state for GBC games with only 24K of storage for compressed savestates (if they weren't compressed, they would be bigger than 64K!).

Offline StarDust4Ever

  • Full Member
  • ***
  • Posts: 123
  • Karma: +8/-0
    • View Profile
Re: Goomba saving
« Reply #23 on: September 13, 2016, 12:35 PM »
Thanks for the information.  Looks like it should detect the 32K size save and adjust accordingly.  Might run out of space quickly when saving state for GBC games with only 24K of storage for compressed savestates (if they weren't compressed, they would be bigger than 64K!).
I have noticed this issue when playing WarioLand 3. I can save state and it works just fine. Then I beat a boss or finish a level (remember kiddos, Goomba does NOT write to the GX5 SRAM when your emulated GBC game saves to SRAM) and I need to create a new savestate but it gives me memory full error! I have lost in game progress due to this error, which seems to occur purely at random! Sometimes delete SRAM then savestate helps (you do not need SRAM because the save state includes this data) but it is currently a crapshoot whether or not Goomba can create a save state or not when I tell it to. If I cannot create save state, I lose progress on exit. Any fix would be appreciated, though I'm probably asking on the wrong forum... :'(

Also if Goomba simply stored the Game Boy SRAM on the X5 SRAM instead of GBA RAM, we wouldn't need to use save states to store in game progress, and only use it for redos.
« Last Edit: September 13, 2016, 12:39 PM by StarDust4Ever »

Offline CharlieF

  • Newbie
  • *
  • Posts: 34
  • Karma: +2/-0
    • View Profile
Re: Goomba saving
« Reply #24 on: September 13, 2016, 02:55 PM »
I interpreted what Dwedit said as you ONLY have to press L+R to write the in-game save to SRAM.

"* But many games (like Pokemon) use a save size of 32K instead.  You will need to press L+R to make the emulator save the game's SRAM to a file.  Doing an additional save state at this point is not required."

Saving a Save State after pressing L+R will cause problems, just like you describe.

I don't use save states with Wario Land 3, and I have not yet had a problem with my save file.

What I do, is when it saves in game, I watch for the EDGB to flash red, which it never does.

So, I push L+R after every save in game, and it flashes red, and then I just return to the game, WITHOUT creating a save state.

When I shut it off and the select and load the game again, my in-game save seems to be working fine.

See if that works for you?

I do agree that having one save state and one game save would be ideal, but I don't know if this is possible as it is, like you said.

Charlie

Thanks for the information.  Looks like it should detect the 32K size save and adjust accordingly.  Might run out of space quickly when saving state for GBC games with only 24K of storage for compressed savestates (if they weren't compressed, they would be bigger than 64K!).
I have noticed this issue when playing WarioLand 3. I can save state and it works just fine. Then I beat a boss or finish a level (remember kiddos, Goomba does NOT write to the GX5 SRAM when your emulated GBC game saves to SRAM) and I need to create a new savestate but it gives me memory full error! I have lost in game progress due to this error, which seems to occur purely at random! Sometimes delete SRAM then savestate helps (you do not need SRAM because the save state includes this data) but it is currently a crapshoot whether or not Goomba can create a save state or not when I tell it to. If I cannot create save state, I lose progress on exit. Any fix would be appreciated, though I'm probably asking on the wrong forum... :'(

Also if Goomba simply stored the Game Boy SRAM on the X5 SRAM instead of GBA RAM, we wouldn't need to use save states to store in game progress, and only use it for redos.

Offline Alnt88

  • Newbie
  • *
  • Posts: 5
  • Karma: +0/-0
    • View Profile
Re: Goomba saving
« Reply #25 on: September 22, 2016, 07:13 AM »
I'm actually still having problems with this. Is it a known issue? It worked for a while pressing L+R after saving, now that doesn't even work. It just starts a new game each time. Save states are still working though.

Offline marjan89

  • Newbie
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
Re: Goomba saving
« Reply #26 on: July 31, 2018, 01:00 AM »
Thanks for the information.  Looks like it should detect the 32K size save and adjust accordingly.  Might run out of space quickly when saving state for GBC games with only 24K of storage for compressed savestates (if they weren't compressed, they would be bigger than 64K!).
I have noticed this issue when playing WarioLand 3. I can save state and it works just fine. Then I beat a boss or finish a level (remember kiddos, Goomba does NOT write to the GX5 SRAM when your emulated GBC game saves to SRAM) and I need to create a new savestate but it gives me memory full error! I have lost in game progress due to this error, which seems to occur purely at random! Sometimes delete SRAM then savestate helps (you do not need SRAM because the save state includes this data) but it is currently a crapshoot whether or not Goomba can create a save state or not when I tell it to. If I cannot create save state, I lose progress on exit. Any fix would be appreciated, though I'm probably asking on the wrong forum... :'(

Also if Goomba simply stored the Game Boy SRAM on the X5 SRAM instead of GBA RAM, we wouldn't need to use save states to store in game progress, and only use it for redos.

Hello everyone, not sure if I should create a new topic for this, but it's related to Goomba Color save states. I'm experiencing this exact behaviour, only with Legend of Zelda - Oracle of seasons. Everdrive OS 1.11 and Goomba Color 12-14-14. I see the thread is abandoned but I was hoping that someone found the solution for the random 'memory full' error.

Sometimes I manage to solve the issue by going to save/load state menu and pressing select to delete any existing saved state, sometimes nothing helps, until it starts working at some point, as randomly as it stops working. When it acts up and I delete all save states, I have '24000' free and still get the 'memory full' error. I also tried to reproduce the error by making dozens of consecutive saved states, restarting the device in between, doing regular saves and loads in between but couldn't reproduce the error that way. I also tried to fix it by manually deleting only the saved state with goombasav_cs (https://github.com/libertyernie/goombasav) but this doesn't help either, not always at least.
« Last Edit: July 31, 2018, 01:12 AM by marjan89 »