Hello, I'm looking to make a system that logs all changes to memory that happen over the course of a frame, and can later undo all these changes to return to a previous gamestate. The goal is to make a rewind feature that would hopefully be more performant than using savestates when only rewinding a handful of frames. Would anyone know where in Dolphin's code to find the point where the game's memory is changed? I've given it a try but couldn't find what I was looking for.
Thread Rating:
Where is Dolphin's memory changed?
|
07-11-2022, 01:39 AM
If you're not using the JIT, writes to memory are done in the WriteToHardware function here: https://github.com/dolphin-emu/dolphin/blob/6e09b13ce361e9f560033234908565f7afa6f090/Source/Core/Core/PowerPC/MMU.cpp#L251
If you're using the JIT: I'm afraid it's going to be pretty hard. Search the code base for "RMEM" to find the locations where the x64 JIT accesses memory (or "MEM_REG" for the AArch64 JIT). Beyond that, you're kind of on your own. |
« Next Oldest | Next Newest »
|
Users browsing this thread: 1 Guest(s)