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

don't unpause emulator when resetting #432

Merged
merged 1 commit into from
Jan 4, 2025

Conversation

Jamiras
Copy link
Member

@Jamiras Jamiras commented Dec 28, 2024

Fixes an issue where the pause indicator remains on screen when the emulator is reset. Rather than remove the pause indicator, I felt it was more appropriate to not unpause the emulator when resetting. This allows developer to debug memory state as the emulator is reset.

@Jamiras Jamiras added this to the 1.8.1 milestone Dec 28, 2024
@leiradel
Copy link
Contributor

I'm not sure what you mean by "debug memory state", but there could be cores that free the emulated memory and allocate it again while resetting, so it's not advisable to hold pointers to emulated memory while resetting (or when unloading and loading a game).

@Jamiras
Copy link
Member Author

Jamiras commented Dec 28, 2024

There are a subset of tickets that occur because a user resets the game and the game doesn't immediately update the memory.

For example, an achievement has a "8-bit 0x1234 = 1 (1)" condition to capture when the player starts something. The hit count will be cleared on reset by the runtime, but if the memory hasn't been updated (even for a single frame), the hit can be captured again before the user gets back to the title screen. Without the ability to framestep through the reset process, that's hard to detect.

We already rebuild the memory map on reset via #209.

@leiradel
Copy link
Contributor

Oh nice

@Jamiras Jamiras merged commit 1816ae3 into RetroAchievements:develop Jan 4, 2025
6 checks passed
@Jamiras Jamiras deleted the feature/paused_reset branch January 4, 2025 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants