- Added selection and CTRL+C to copy lines.
- Supports selection ranges larger than the ListView; scroll and Shift+Click to select all text from the anchor to the click location (even across multiple pages).
- Scroll-on-select would be nice to have, but it is not implemented here.
- Keyboard selection would also be nice. Shift + arrows/page up/page down seems like it would be a decent UX... TBD.
- Right click to copy + deselect. Or hold left click and press Esc or right click to deselect without copying.
- Added support for scrolling with the mouse wheel.
- Added support for scrolling with the keyboard when the ListView has focus.
- Added support for scrolling with the scrollbar thumb.
- Switched to a fixed-width font for better readability.
- Show OpCodes (instruction bytes).
- Increased the window size to accommodate the better font and OpCode column.
- Normalized all instructions to lowercase.
- New colors to represent instruction state:
- Red: Breakpoint
- Green + outline: Current PC
- Orange + outline: Current PC + breakpoint
- Blue background: Selection highlight
- Fix watchpoint access size checks so they don't have to be an exact match on the address.
- Minor bug fixes.
- Split virtual memory reads into functions that should trigger watchpoints (for CPU Interpreter) and functions that do not (various debug tools, cheat search, and instruction fetch).
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.
This makes it so the Release External build can now be used to debug the roms without having to also provide a Release build.
Next commit will add these options via the graphical interface and clean up some options that have become deprecated