Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Runahead Issue] - Using Runahead with SegaCD/MegaCD Corrupts Internal Saves #10645

Open
Zenjir0 opened this issue May 17, 2020 · 0 comments
Open

Comments

@Zenjir0
Copy link

@Zenjir0 Zenjir0 commented May 17, 2020

Description

When you run the Genesis Plus GX 1.7.4 (5055106) core with a SegaCD/MegaCD game in conjunction with runahead the "Internal RAM" saves that the core manages have the chance of being corrupted.

Expected behavior

Ideally the saves are not corrupted, with runahead turned on.

Actual behavior

When you attempt to make a Save, in my case I am playing "Popful Mail," it saves to all available slots with the time being 00:00. When you attempt to Load the Save you just made it does not recognize the Saved data.

Steps to reproduce the bug

  1. Start with a clean slate, with no saves in the internal memory (Ensure no cart.brm and/or scd_u.brm is present in the retroarch saves folder directory).
  2. Make sure runahead is enabled.
  3. Launch the SegaCD/MegaCD game.
  4. As soon as you enter an area where you are able to save attempt to make a save.
  5. Try to load the save you just made. (It should not be able to)
  6. Go back and look at the save you just created. (All Slots are Filled, where only one should be).
  7. Repeat Step 1-6 but this time have runahead turned off. Everything should work.
  8. (Optional) Ensure no cart.brm and/or scd_u.brm is present in the retroarch saves folder directory on successive attempts. I think that once a save is successive you are able to play normally, however over time it is possible for it to become corrupted, if runahead is turned on.

Bisect Results

Here is a video demonstrating the issue: https://www.dropbox.com/s/p81ku3lw19xd6dl/Runahead_SegaCD_Corrupts_Saves.mp4?dl=0

First launch in the video shows the bad behavior.
NOTE: I did delete the cart.brm and scd_u.brm between the two play sessions.
Second launch in the video shows expected/normal behavior.

Just a bit more troubleshooting info:
I attempted this using the US 2.21 BIOS and believed my issue was using an unsupported BIOS version. But the same results occurred on supported 2.00 BIOS.
I was also running the game from a CHD format and not a BIN/CUE format. But same issued occurred regardless of format.
I was also using a patched version of a game in CHD format. But playing the original raw unpatched version yielded the same results.
My last attempt was to disable runahead and see if that was causing some odd behavior. And sure enough it was the culprit.

Version/Commit

You can find this information under Information/System Information

  • RetroArch: v1.8.6 commit-25be09acd3

Environment information

  • OS: Win10-1907 x64
  • Compiler: MinGW (9.2.0) 64-bit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant
You can’t perform that action at this time.