Added multiple breakpoints feature and their key bindings
[clinton/Virtual-Jaguar-Rx.git] / src / jaguar.h
index d074dea..76f47db 100644 (file)
@@ -4,12 +4,26 @@
 #include <stdint.h>
 #include "memory.h"                                                    // For "UNKNOWN" enum
 
+// Breakpoint struture
+typedef struct BrkInfo
+{
+       bool Used;                                      // Allocated breakpoint
+       bool Active;                            // Active breakpoint
+       char *Name;                                     // Functions's name
+       char *Filename;                         // Source filename
+       char *LineSrc;                          // Source code line
+       size_t NumLine;                         // Line number
+       size_t Adr;                                     // Breakpoint address
+       size_t HitCounts;                       // Hit counts
+}S_BrkInfo;
+
 void JaguarSetScreenBuffer(uint32_t * buffer);
 void JaguarSetScreenPitch(uint32_t pitch);
-void JaguarInit(void);
-void JaguarReset(void);
-void JaguarDone(void);
+extern void JaguarInit(void);
+extern void JaguarReset(void);
+extern void JaguarDone(void);
 
+// Memory functions
 uint8_t JaguarReadByte(uint32_t offset, uint32_t who = UNKNOWN);
 uint16_t JaguarReadWord(uint32_t offset, uint32_t who = UNKNOWN);
 uint32_t JaguarReadLong(uint32_t offset, uint32_t who = UNKNOWN);
@@ -31,8 +45,11 @@ extern uint32_t jaguarMainROMCRC32, jaguarROMSize, jaguarRunAddress;
 extern char * jaguarEepromsPath;
 extern bool jaguarCartInserted;
 extern bool bpmActive, bpmSaveActive;
+extern size_t bpmHitCounts;
 extern uint32_t bpmAddress1;
 extern bool startM68KTracing;
+extern S_BrkInfo *brkInfo;
+extern size_t brkNbr;
 
 // Various clock rates