-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
[REGRESSION] READ_CORE_RAM returns empty (-1) since 1.9.1 #12262
Comments
Can you bisect and identify when it stopped working? |
As a user, keeping a history of windows builds is one thing, but you haven't got a history of Linux builds. I cannot revert to the old snap Version. I will try to bisect the change soon. Cannot promise an ETA. |
According to the qusb2snes discord, all SNES cores are affected. |
I can probably help bisect if there's an easy way to test it. Do you have a program that queries it that I can run? |
TBH looking at The two later commits are only style nits, the previous commits are from 2019. |
Hey there! |
Checked ~1st Jan and it is broken too, so it's been broken for a while :| |
The screenshot shows you calling |
Oh I see, however the other function has the same issue. Seems like command_read_memory does not have info on memory maps. This is also happening before my commit, so I suspect something must be going on. |
I'm not seeing the "-1" behavior, but there does appear to be a change in behavior associated to b830b33. With the a989cfb commit, the command always returns a value:
With the b830b33 commit, the first command returns nothing, but later commands seem to work:
I'm seeing the same behavior on current master (first command fails silently, later commands work). Tested with bsnes-mercury and snes9x cores on ubuntu 18. The "-1" return value indicates the address could not be mapped to memory in the core (READ_CORE_MEMORY provides slightly more information in it's return value). It sounds like SET_MEMORY_MAPS isn't being called. Do you see a block like this in your log file?
|
I am here of qusb2snes, and it is sending If there is another return value, it will then try to send However, as much as I tried your commands (eg Here's a verbose output excerpt:
|
READ_CORE_RAM does not function unless a game with achievements is loaded, which was the impetus for #12105. What happens if you try
|
Latest snap and flatpak version (both 1.9.1) give:
I found older versions on flathub, let me quickly check. |
Well, that seems to be working, so the problem seems to be that READ_CORE_RAM requires achievements to be active, and they aren't for whatever reason. Do you want to keep investigating on that end? Or does switching to READ_CORE_MEMORY address your concerns? |
|
Sorry I was getting the above data while you created another post. |
Ok, I think I understand the problem now. In 1.9.0 stable, you can call The change was all the way back in August via #11183, which pre-generates the achievement address->core mappings after the achievements are loaded, instead of on demand as they're looked up. The So, there's basically two options to address this:
|
For the sake of backwards compatibility (this is a public API), I vote for option 2. For a version 2.x of RetroArch you are free to do breaking changes (semver). |
As the change was relatively simple, I've gone ahead an implemented it. I still recommend that you should move to the |
Thanks @Jamiras I will forward it to the qusb2snes project for future versions! |
First and foremost consider this:
Description
READ_CORE_RAM
returns an empty list since 1.9.1. This did not happen in 1.9.0Expected behavior
should not return
READ_CORE_RAM 0 -1
Actual behavior
returns
Steps to reproduce the bug
Bisect Results
[Try to bisect and tell us when this started happening]
Version/Commit
You can find this information under Information/System Information
Environment information
The text was updated successfully, but these errors were encountered: