Commit Graph

4 Commits

Author SHA1 Message Date
5b99d9ecbf Memory viewer improvements (#5)
This is a fairly major refactor to the memory viewer.

Contextual coloring follows the precedent set by the cheat search, with red indicating a value has decreased, and green indicates an increase. New here are colors for watchpoints, which use an underlined font: Magenta = write, blue = read, violet = read/write.

The primary changes are listed below:

- Disabled column resizing.
- Removed the useless close button.
- Added auto refresh thread to redraw the memory view every 150ms.
- Added support for scrolling with the mouse wheel.
- Added contextual coloring.
- Fixed garbage in the ASCII view.
- Fixed some styling issues.
- Default address is 0x80000000
2023-08-19 16:29:31 +02:00
0a23a36b29 Improve CPU trapping for watchpoints
Block the CPU thread when a watchpoint is hit. This moves the blocking
to just before the memory access happens. Allows removing the gross
hacks that changed CPU interpreter flow control.

Removes unnecessary double-watchpoint checks in LD and SD instructions.
2023-08-19 16:29:30 +02:00
43ed439a46 Switch watchpoint data structure to C++ unordered_map (#1)
- Removes the need for linking with MFC libraries
- Probably improves performance slightly, assuming the C++ standard
  performs better than MFC.
2023-08-19 16:29:30 +02:00
d58bed9d06 Watchpoint support
- Watchpoints are added in the breakpoints dialog.
- "Exec" is a breakpoint.
- "Read", "Write", and "Read/Write" are watchpoints.
2023-08-19 16:29:30 +02:00