From 2beff689d08384597238e947907d569e87202dd3 Mon Sep 17 00:00:00 2001 From: Dagen Brock Date: Wed, 19 Oct 2016 12:04:01 -0500 Subject: [PATCH] minor additions --- src/defc.h | 1 + src/dis.c | 12 ++++++++---- src/protos.h | 1 + 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/defc.h b/src/defc.h index 75d5d62..29084fd 100644 --- a/src/defc.h +++ b/src/defc.h @@ -60,6 +60,7 @@ void U_STACK_TRACE(); #define DRECIP_DCYCS_IN_16MS (1.0 / (DCYCS_IN_16MS)) #ifdef GSPLUS_LITTLE_ENDIAN +// @todo: look at using for fastest platform implementations # define BIGEND(a) ((((a) >> 24) & 0xff) + \ (((a) >> 8) & 0xff00) + \ (((a) << 8) & 0xff0000) + \ diff --git a/src/dis.c b/src/dis.c index e91615a..211b956 100644 --- a/src/dis.c +++ b/src/dis.c @@ -33,6 +33,8 @@ extern byte *g_memory_ptr; extern byte *g_slow_memory_ptr; extern int halt_sim; extern int enter_debug; +extern int g_dbg_step; //debug.c +extern int timeout; //debug.c extern int g_c068_statereg; extern word32 stop_run_at; extern int Verbose; @@ -595,14 +597,13 @@ do_blank() } } + +/* also called by do_step */ void do_go() { - /* also called by do_step */ - g_config_control_panel = 0; clear_halt(); - run_prog(); show_regs(); g_config_control_panel = 1; @@ -614,16 +615,20 @@ do_step() int size; int size_mem_imm, size_x_imm; + // run an instruction do_go(); + // check accumulator size size_mem_imm = 2; if(engine.psr & 0x20) { size_mem_imm = 1; } + // check xy size size_x_imm = 2; if(engine.psr & 0x10) { size_x_imm = 1; } + // then disassemble size = do_dis(stdout, engine.kpc, size_mem_imm, size_x_imm, 0, 0); } @@ -701,7 +706,6 @@ read_line(char *buf, int len) #ifdef _WIN32 ret = win_nonblock_read_stdin(0, buf, 1); #elif defined(__OS2__) - #else /* Unix */ ret = read(0, buf, 1); diff --git a/src/protos.h b/src/protos.h index ef896c9..8129680 100644 --- a/src/protos.h +++ b/src/protos.h @@ -221,6 +221,7 @@ void show_bp(void); void delete_bp(word32 addr); void do_blank(void); void do_go(void); +void do_go_debug(void); // socket debug ver void do_step(void); void xam_mem(int count); void show_hex_mem(int startbank, word32 start, int endbank, word32 end, int count);