Files
Project64-Legacy/WatchPoints.h
Jay Oster 4ce206f40d Debugger improvements (#11)
- 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.
2023-08-19 16:29:31 +02:00

48 lines
1.4 KiB
C

/*
* Project 64 - A Nintendo 64 emulator.
*
* (c) Copyright 2022 parasyte (jay@kodewerx.org)
*
* pj64 homepage: www.pj64.net
*
* Permission to use, copy, modify and distribute Project64 in both binary and
* source form, for non-commercial purposes, is hereby granted without fee,
* providing that this license information and copyright notice appear with
* all copies and any derived work.
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event shall the authors be held liable for any damages
* arising from the use of this software.
*
* Project64 is freeware for PERSONAL USE only. Commercial users should
* seek permission of the copyright holders first. Commercial use includes
* charging money for Project64 or software derived from Project64.
*
* The copyright holders request that bug fixes and improvements to the code
* should be forwarded to them so if they want them.
*
*/
#ifndef __watchpoints_h
#define __watchpoints_h
typedef enum {
WP_NONE,
WP_READ,
WP_WRITE,
WP_READ_WRITE,
WP_ENABLED,
} WATCH_TYPE;
void InitWatchPoints(void);
void AddWatchPoint(DWORD Location, WATCH_TYPE Type);
void RemoveWatchPoint(DWORD Location);
void ToggleWatchPoint(DWORD Location);
void RemoveAllWatchPoints(void);
WATCH_TYPE HasWatchPoint(DWORD Location);
BOOL CheckForWatchPoint(DWORD Location, WATCH_TYPE Type, int Size);
int CountWatchPoints(void);
void RefreshWatchPoints(HWND hList);
#endif