ppsspp/Windows/Debugger/Debugger_Disasm.h

68 lines
1.5 KiB
C
Raw Normal View History

2012-11-01 16:19:01 +01:00
// NOTE: Apologies for the quality of this code, this is really from pre-opensource Dolphin - that is, 2003.
#ifndef _DISASM_H
#define _DISASM_H
#include "../W32Util/DialogManager.h"
#include "CtrlDisasmView.h"
#include "CPURegsInterface.h"
#include "Globals.h"
#include "Core/CPU.h"
#include "Core/MIPS/MIPSDebugInterface.h"
#include "Core/Debugger/Breakpoints.h"
#include <vector>
2012-11-01 16:19:01 +01:00
#include <windows.h>
2013-07-02 23:21:20 +02:00
class CtrlThreadList;
2012-11-01 16:19:01 +01:00
class CDisasm : public Dialog
{
private:
RECT defaultRect;
RECT defaultBreakpointRect;
2012-11-01 16:19:01 +01:00
RECT regRect;
RECT disRect;
RECT breakpointRect;
2012-11-01 16:19:01 +01:00
DebugInterface *cpu;
u64 lastTicks;
2013-07-02 23:21:20 +02:00
CtrlThreadList* threadList;
std::vector<BreakPoint> displayedBreakPoints_;
std::vector<MemCheck> displayedMemChecks_;
2012-11-01 16:19:01 +01:00
BOOL DlgProc(UINT message, WPARAM wParam, LPARAM lParam);
void UpdateSize(WORD width, WORD height);
void SavePosition();
void updateBreakpointList();
void handleBreakpointNotify(LPARAM lParam);
void gotoBreakpointAddress(int itemIndex);
void removeBreakpoint(int itemIndex);
int getTotalBreakpointCount();
int getBreakpointIndex(int itemIndex, bool& isMemory);
2013-07-03 22:29:35 +02:00
void updateThreadLabel(bool clear);
void showBreakpointMenu(int itemIndex, const POINT &pt);
2012-11-01 16:19:01 +01:00
public:
int index; //helper
CDisasm(HINSTANCE _hInstance, HWND _hParent, DebugInterface *cpu);
~CDisasm();
//
// --- tools ---
//
virtual void Update()
{
UpdateDialog(true);
updateBreakpointList();
};
2012-11-01 16:19:01 +01:00
void UpdateDialog(bool _bComplete = false);
// SetDebugMode
void SetDebugMode(bool _bDebug);
// show dialog
void Goto(u32 addr);
void NotifyMapLoaded();
};
#endif