From 82d64b3a5ff89b5b44a2b1b901dcee4326a97af7 Mon Sep 17 00:00:00 2001 From: notaz Date: Tue, 19 Jan 2010 22:17:47 +0000 Subject: [PATCH] 32x: drc: new debug facility (pdb). Few fixes thanks to it. git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@863 be3aeb3a-fb24-0410-a615-afba39da0efa --- common/common.mak | 11 +++++++++++ common/main.c | 7 +++++++ linux/Makefile | 6 +++--- linux/host_dasm.c | 2 +- linux/port_config.h | 4 ++-- 5 files changed, 24 insertions(+), 6 deletions(-) diff --git a/common/common.mak b/common/common.mak index 3ddf3fb..061771e 100644 --- a/common/common.mak +++ b/common/common.mak @@ -7,6 +7,17 @@ endif ifeq "$(profile)" "2" CFLAGS += -fprofile-use endif +ifeq "$(pdb)" "1" +DEFINES += PDB +OBJS += cpu/debug.o + ifeq "$(pdb_net)" "1" + DEFINES += PDB_NET + endif + ifeq "$(readline)" "1" + DEFINES += HAVE_READLINE + LDFLAGS += -lreadline + endif +endif ifeq "$(pprof)" "1" DEFINES += PPROF OBJS += platform/linux/pprof.o diff --git a/common/main.c b/common/main.c index b0ad4ba..7167df2 100644 --- a/common/main.c +++ b/common/main.c @@ -13,6 +13,7 @@ #include "config.h" #include "input.h" #include "plat.h" +#include #include @@ -34,6 +35,12 @@ void parse_cmd_line(int argc, char *argv[]) else if (strcasecmp(argv[x], "-loadstate") == 0) { if (x+1 < argc) { ++x; load_state_slot = atoi(argv[x]); } } + else if (strcasecmp(argv[x], "-pdb") == 0) { + if (x+1 < argc) { ++x; pdb_command(argv[x]); } + } + else if (strcasecmp(argv[x], "-pdb_connect") == 0) { + if (x+2 < argc) { pdb_net_connect(argv[x+1], argv[x+2]); x += 2; } + } else { unrecognized = 1; break; diff --git a/linux/Makefile b/linux/Makefile index 627c2e2..1fb54d3 100644 --- a/linux/Makefile +++ b/linux/Makefile @@ -12,6 +12,8 @@ use_sh2drc = 1 #drc_debug_interp = 1 #profile = 1 +all: mkdirs PicoDrive + -include Makefile.local ifndef ARCH @@ -27,7 +29,7 @@ CFLAGS += -mcpu=arm920t DEFINES += ARM endif -CC = $(CROSS)gcc +CC ?= $(CROSS)gcc # frontend OBJS += io.o emu.o blit.o in_evdev.o plat.o sndout_oss.o log_io.o @@ -70,8 +72,6 @@ vpath %.asm = ../.. DIRS += platform/linux zlib unzip -all: mkdirs PicoDrive - include ../common/common.mak include ../common/revision.mak diff --git a/linux/host_dasm.c b/linux/host_dasm.c index 0b97821..a63a9ac 100644 --- a/linux/host_dasm.c +++ b/linux/host_dasm.c @@ -188,7 +188,7 @@ void host_dasm(void *addr, int len) if (name != NULL) printf("%s:\n", name); - printf(" %08lx ", (long)vma); + printf(" %08lx ", (long)vma); vma += print_insn_func(vma, &di); printf("\n"); } diff --git a/linux/port_config.h b/linux/port_config.h index 7e05d7d..d9ccb47 100644 --- a/linux/port_config.h +++ b/linux/port_config.h @@ -23,8 +23,8 @@ #define SIMPLE_WRITE_SOUND 0 #define mix_32_to_16l_stereo_lvl mix_32_to_16l_stereo -#define EL_LOGMASK (EL_STATUS|EL_ANOMALY|EL_UIO|EL_IDLE) -// EL_VDPDMA|EL_ASVDP|EL_SR | EL_BUSREQ|EL_Z80BNK | EL_32X) +#define EL_LOGMASK (EL_STATUS|EL_ANOMALY|EL_UIO) +// EL_VDPDMA|EL_ASVDP|EL_SR | EL_IDLE | EL_BUSREQ|EL_Z80BNK | EL_32X) //#define dprintf(f,...) printf("%05i:%03i: " f "\n",Pico.m.frame_count,Pico.m.scanline,##__VA_ARGS__) #define dprintf(x...) -- 2.39.5