fix up tcp debug to work with new debugger

This commit is contained in:
Kelvin Sherlock 2019-01-29 19:20:01 -05:00
parent d47589374c
commit e62889901c
2 changed files with 16 additions and 11 deletions

View File

@ -25,13 +25,13 @@
// STEPPING/ENGINE STUFF
extern Engine_reg engine;
extern int g_config_control_panel;
extern int g_num_breakpoints;
extern word32 g_breakpts[MAX_BREAK_POINTS];
int g_dbg_enable_port = 0;
int debug_pause = 0;
int g_dbg_step = 0;
int step_count = 0;
extern int g_stepping;
// emulator command stuff
extern int g_limit_speed;
extern int g_screenshot_requested;
@ -217,9 +217,11 @@ void debug_handle_event() {
} else {
g_dbg_step = -1; // first one just halts
}
g_stepping = 1;
break;
case G_DBG_COMMAND_CONTINUE: //4
g_dbg_step = 0;
g_stepping = 0;
step_count = 0;
break;
case G_DBG_COMMAND_GET_MEM: //6
@ -232,7 +234,7 @@ void debug_handle_event() {
exit(0); // HALT!
break;
case G_DBG_COMMAND_DEBUGGER:
do_debug_intfc();
//do_debug_intfc();
break;
case G_DBG_COMMAND_SET_CPU:
event_set_cpu(&dbg_cmd_queue[0].cdata);
@ -303,13 +305,16 @@ void api_push_cpu() {
void api_push_brk() {
int i;
extern int g_num_bp_breakpoints;
extern word32 g_bp_breakpoints[];
// build our json array of breakpoints
tmp_buffer2_4k[0] = '\0'; // start with empty string
char *str_ptr = tmp_buffer2_4k;
for(i = 0; i < g_num_breakpoints; i++) {
for(i = 0; i < g_num_bp_breakpoints; i++) {
//printf("{\"bp:%02x: %06x\n", i, g_breakpts[i]);
str_ptr += sprintf(str_ptr, "{\"trig\":\"addr\",\"match\":\"%06X\"}", g_breakpts[i]);
if (i < g_num_breakpoints-1) {
str_ptr += sprintf(str_ptr, "{\"trig\":\"addr\",\"match\":\"%06X\"}", g_bp_breakpoints[i]);
if (i < g_num_bp_breakpoints-1) {
str_ptr += sprintf(str_ptr, ",");
}
}
@ -603,7 +608,7 @@ void event_add_brk(char *str) {
int addr = 0;
sscanf(str, "%06X", &addr);
addr = addr & 0xFFFFFF; // 24 bit KPC address for 65816
set_bp(addr);
set_bp('B', addr);
api_push_brk();
api_write_socket();
@ -615,7 +620,7 @@ void event_del_brk(char *str) {
int addr = 0;
sscanf(str, "%06X", &addr);
addr = addr & 0xFFFFFF; // 24 bit KPC address for 65816
delete_bp(addr);
delete_bp('B', addr);
api_push_brk();
api_write_socket();

View File

@ -172,9 +172,9 @@ void do_debug_intfc(void);
word32 dis_get_memory_ptr(word32 addr);
void show_one_toolset(FILE *toolfile, int toolnum, word32 addr);
void show_toolset_tables(word32 a2bank, word32 addr);
void set_bp(word32 addr);
void show_bp(void);
void delete_bp(word32 addr);
void set_bp(int type, word32 addr);
void show_bp(int type);
void delete_bp(int type, word32 addr);
void do_blank(void);
void do_go(void);
void do_go_debug(void); // socket debug ver