Emulator Issues #8721
Memory checks don't work, or make Dolphin crash
What's the problem? Describe what went wrong in few words.
When a memory value being checked is changed, nothing happens. In 4.0-6866 if the Interpreter is used, Dolphin crashes when a memory breakpoint is added.
What did you expect to happen instead?
The game to pause if a value being checked is changed. In case of 4.0-6866 with Interpreter: no crash when adding a memory breakpoint.
What steps will reproduce the problem?
1. Add a memory breakpoint
If we're using 4.0-6866 with Interpreter, we've already crashed. Otherwise:
2. Induce a change in the memory value being checked
Dolphin 3.5 and 3.5-367 are old versions of Dolphin that have
known issues and bugs, so don't report issues about them and test the
latest Dolphin version first.
Which versions of Dolphin did you test on?
* 4.0-? (found here: http://smashboards.com/threads/dolphin-debugfast-4-0-emulator-memory-breakpoints-download-links-32-64-bit.354071/)
* 3.0-865 (found here: https://forums.dolphin-emu.org/Thread-break-points-memory-editor-and-debug-mode?pid=252104#pid252104)
Does using an older version of Dolphin solve your issue? If yes, which
versions of Dolphin used to work?
What are your PC specifications? (including, but not limited to: Operating
System, CPU and GPU)
Windows 7 x64 / Lubuntu 15.04
AMD Athlon II X3 450 @ 3.2 GHz
Nvidia GeForce GT 440
3 GB RAM
Windows 7 x64
AMD A4-330M @ 1.9 GHz
ATI AMD Radeon HD 6480G
4 GB RAM
Is there any other relevant information? (e.g. logs, screenshots,
I tracked down the 4.0-6866 Interpreter crash to this line:
memset(region, 0xCC, region_size);
in x64Emitter.PoisonMemory(). JIT -> Clear JIT Cache works without problems otherwise.
I've tried disabling JIT Cache (JIT -> Disable JIT Cache) to see if it helps, but the games just give me a black screen, stuck at "Clearing code cache".
The games I used to test are Paper Mario: The Thousand Year Door (NTSC) (I set a breakpoint at 0x003E1B88, the selected save file), Super Smash Bros Brawl (PAL) (0x0136C4E3, selected menu option in the main menu) and Super Paper Mario (0x004D05AF, selected save file).
#2 Updated by bubu19990316 almost 6 years ago
I found an ugly solution by using Cheat Engine to freeze dolphin when a memory address (gamecube memory addresses are offset by 2fff0003, and wii ones by 2ffff0000) is changed, then looking at the value of the Program Counter (found at FA5200 in 4.0-6891 and 4.0-? (it feels really bad to type 4.0-?. I feel as if someone drops an ice cream every time I write that. 4.0-? 4.0-? 4.0-?)).
But this isn't a very good solution, because the address is inaccurate and it feels clumsy to keep setting the memory breakpoint and unfreezing dolphin in Cheat Engine all the time. It's better than nothing though, I suppose...