Project

General

Profile

Emulator Issues #8979

Some Virtual Console titles only flush save data on power down

Added by JMC4789 over 5 years ago. Updated over 4 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

10%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:
5.0-775

Description

Game Name?

Virtual Console NES and some SNES titles

What's the problem? Describe what went wrong.

When playing many Virtual Console games, including let's say, The Legend of Zelda (NES), you can save the game and it'll be fine, right? Unfortunately, it's not. The game flushes savedata when you either A: turn off the console, or B: return to the system menu. The problem comes in on Dolphin. If you close the emulator window while in-game on one of the afflicted titles, they will not flush the save data. Why is this?

Through hardware testing, I've determined through expert analysis that powering down Dolphin is akin to unplugging the Wii for these titles. When I unplug my Wii, I get the same exact behavior as Dolphin when I close/power off the game.

What steps will reproduce the problem?

Play Legend of Zelda
Create save game file
This one should work, so close the game, and then reload it.
Now, go collect a heart or something and then die, and save again. Close the game window and reload the game. If you really don't know where any of the stuff is in Zelda 1 go look up a guide or something, you new console heathen.
You will still have three heart containers/no new items.

Which versions of Dolphin did you test on? Does using an older version of Dolphin solve your issue? If yes, which versions of Dolphin used to work?

All Afflicted

What are your PC specifications? (CPU, GPU, Operating System, more)

NA

Is there any other relevant information? (e.g. logs, screenshots,
configuration files)

LPfaint99 says it can be fixed by implementing something like this:

"Technical details for anyone wanting to implement, I started about 18months ago, but busy with other things
game will register function by issuing 'IOCTL_STM_EVENTHOOK = 0x1000' to /dev/stm
this function should be run on either powerdown or reset "

Counting as 10% done since there was initial research done into it.

History

#1 Updated by JMC4789 over 5 years ago

  • Subject changed from Some Virtual Console Titles Only Flush Save Data on Power Down [Short description of your bug here (~10 words)] to Some Virtual Console Titles Only Flush Save Data on Power Down

#2 Updated by pauldacheez over 5 years ago

  • Subject changed from Some Virtual Console Titles Only Flush Save Data on Power Down to Some Virtual Console titles only flush save data on power down

#3 Updated by JMC4789 over 5 years ago

  • Description updated (diff)

#4 Updated by JMC4789 over 5 years ago

Can no one handle doing a rather simple task? Please?

#5 Updated by delroth over 5 years ago

It's not fully trivial. I'll have a look though.

#6 Updated by delroth over 5 years ago

Nevermind, no time to have a look this weekend. The main problem is how to handle e.g. an infinite loop in the event hook. We need to make the emulation exit process asynchronous and make sure that double-exiting forces exit without event hooks.

#8 Updated by JosJuice over 4 years ago

  • Status changed from Accepted to Fixed
  • Fixed in set to 5.0-775

Also available in: Atom PDF