rpcsx/rpcs3/Gui/InterpreterDisAsm.h

56 lines
1.2 KiB
C
Raw Normal View History

#pragma once
2016-02-02 00:46:27 +03:00
#include "Emu/CPU/CPUThread.h"
#include "Emu/CPU/CPUDisAsm.h"
2013-10-06 18:05:58 +03:00
class InterpreterDisAsmFrame : public wxPanel
{
wxListView* m_list;
2016-02-02 00:46:27 +03:00
std::unique_ptr<CPUDisAsm> m_disasm;
u32 m_pc;
wxTextCtrl* m_regs;
wxButton* m_btn_step;
wxButton* m_btn_run;
wxButton* m_btn_pause;
2013-07-04 17:20:36 +03:00
u32 m_item_count;
wxChoice* m_choice_units;
u64 m_threads_created = 0;
u64 m_threads_deleted = 0;
u32 m_last_pc = -1;
u32 m_last_stat = 0;
public:
std::weak_ptr<cpu_thread> cpu;
public:
InterpreterDisAsmFrame(wxWindow* parent);
~InterpreterDisAsmFrame();
void UpdateUI();
void UpdateUnitList();
2013-07-04 17:20:36 +03:00
2016-02-02 00:46:27 +03:00
u32 GetPc() const;
u32 CentrePc(u32 pc) const;
void OnSelectUnit(wxCommandEvent& event);
void OnKeyDown(wxKeyEvent& event);
2013-07-04 17:20:36 +03:00
void OnResize(wxSizeEvent& event);
void DoUpdate();
2016-02-02 00:46:27 +03:00
void ShowAddr(u32 addr);
void WriteRegs();
void OnUpdate(wxCommandEvent& event);
void Show_Val(wxCommandEvent& event);
void Show_PC(wxCommandEvent& event);
void DoRun(wxCommandEvent& event);
void DoPause(wxCommandEvent& event);
void DoStep(wxCommandEvent& event);
void InstrKey(wxListEvent& event);
void DClick(wxListEvent& event);
void MouseWheel(wxMouseEvent& event);
2016-02-02 00:46:27 +03:00
bool IsBreakPoint(u32 pc);
void AddBreakPoint(u32 pc);
void RemoveBreakPoint(u32 pc);
};