void PCFXDBG_AddBreakPoint(int type, unsigned int A1, unsigned int A2, bool logical) { PCFX_BPOINT tmp; tmp.A[0] = A1; tmp.A[1] = A2; tmp.type = type; if(type == BPOINT_READ) BreakPointsRead.push_back(tmp); else if(type == BPOINT_WRITE) BreakPointsWrite.push_back(tmp); else if(type == BPOINT_IO_READ) BreakPointsIORead.push_back(tmp); else if(type == BPOINT_IO_WRITE) BreakPointsIOWrite.push_back(tmp); else if(type == BPOINT_AUX_READ) BreakPointsAux0Read.push_back(tmp); else if(type == BPOINT_AUX_WRITE) BreakPointsAux0Write.push_back(tmp); else if(type == BPOINT_PC) BreakPointsPC.push_back(tmp); RedoCPUHook(); KING_NotifyOfBPE(BreakPointsAux0Read.size(), BreakPointsAux0Write.size()); }
static void AddBreakPoint(int type, unsigned int A1, unsigned int A2, bool logical) { MD_BPOINT tmp; if(type == BPOINT_READ || type == BPOINT_WRITE) { A1 &= 0xFFFFFF; A2 &= 0xFFFFFF; } tmp.A[0] = A1; tmp.A[1] = A2; tmp.type = type; if(type == BPOINT_READ) BreakPointsRead.push_back(tmp); else if(type == BPOINT_WRITE) BreakPointsWrite.push_back(tmp); else if(type == BPOINT_IO_READ) BreakPointsAux0Read.push_back(tmp); else if(type == BPOINT_AUX_WRITE) BreakPointsAux0Write.push_back(tmp); else if(type == BPOINT_PC) BreakPointsPC.push_back(tmp); RedoCPUHook(); }
void VBDBG_EnableBranchTrace(bool enable) { BTEnabled = enable; if(!enable) { BTIndex = 0; memset(BTEntries, 0, sizeof(BTEntries)); } RedoCPUHook(); }
void VBDBG_FlushBreakPoints(int type) { std::vector<VB_BPOINT>::iterator bpit; if(type == BPOINT_READ) BreakPointsRead.clear(); else if(type == BPOINT_WRITE) BreakPointsWrite.clear(); else if(type == BPOINT_PC) BreakPointsPC.clear(); RedoCPUHook(); }
void VBDBG_AddBreakPoint(int type, unsigned int A1, unsigned int A2, bool logical) { VB_BPOINT tmp; tmp.A[0] = A1; tmp.A[1] = A2; tmp.type = type; if(type == BPOINT_READ) BreakPointsRead.push_back(tmp); else if(type == BPOINT_WRITE) BreakPointsWrite.push_back(tmp); else if(type == BPOINT_PC) BreakPointsPC.push_back(tmp); RedoCPUHook(); }
void PCFXDBG_FlushBreakPoints(int type) { std::vector<PCFX_BPOINT>::iterator bpit; if(type == BPOINT_READ) BreakPointsRead.clear(); else if(type == BPOINT_WRITE) BreakPointsWrite.clear(); else if(type == BPOINT_IO_READ) BreakPointsIORead.clear(); else if(type == BPOINT_IO_WRITE) BreakPointsIOWrite.clear(); else if(type == BPOINT_AUX_READ) BreakPointsAux0Read.clear(); else if(type == BPOINT_AUX_WRITE) BreakPointsAux0Write.clear(); else if(type == BPOINT_PC) BreakPointsPC.clear(); RedoCPUHook(); KING_NotifyOfBPE(BreakPointsAux0Read.size(), BreakPointsAux0Write.size()); }
void SetCPUCallback(void (*callb)(uint32 PC)) { DriverCPUHook = callb; RedoCPUHook(); }
void SetCPUCallback(void (*callb)(uint32 PC, bool bpoint), bool continuous) { DriverCPUHook = callb; DriverCPUHookContinuous = continuous; RedoCPUHook(); }