1 #ifndef __WSWAN_DEBUG_H
2 #define __WSWAN_DEBUG_H
3 
4 namespace MDFN_IEN_WSWAN
5 {
6 
7 
8 
9 #ifdef WANT_DEBUGGER
10 
11 void WSwanDBG_SetCPUCallback(void (*callb)(uint32 PC, bool bpoint), bool continuous);
12 
13 void WSwanDBG_FlushBreakPoints(int type);
14 void WSwanDBG_AddBreakPoint(int type, unsigned int A1, unsigned int A2, bool logical);
15 
16 uint32 WSwanDBG_MemPeek(uint32 A, unsigned int bsize, bool hl, bool logical);
17 void WSwanDBG_Disassemble(uint32 &a, uint32 SpecialA, char *);
18 
19 void WSwanDBG_AddBranchTrace(uint16 old_CS, uint16 old_IP, uint16 CS, uint16 IP, bool interrupt);
20 void WSwanDBG_EnableBranchTrace(bool enable);
21 std::vector<BranchTraceResult> WSwanDBG_GetBranchTrace(void);
22 
23 void WSwanDBG_CheckBP(int type, uint32 address, unsigned int len);
24 
25 void WSwanDBG_GetAddressSpaceBytes(const char *name, uint32 Address, uint32 Length, uint8 *Buffer);
26 void WSwanDBG_PutAddressSpaceBytes(const char *name, uint32 Address, uint32 Length, const uint8 *Buffer);
27 
28 
29 void WSwanDBG_ToggleSyntax(void);
30 void WSwanDBG_IRQ(int level);
31 
32 void WSwanDBG_Init(void) MDFN_COLD;
33 
34 #endif
35 
36 }
37 
38 #endif
39