32x: drc: new debug facility (pdb). Few fixes thanks to it.
authornotaz <notasas@gmail.com>
Tue, 19 Jan 2010 22:17:47 +0000 (22:17 +0000)
committernotaz <notasas@gmail.com>
Tue, 19 Jan 2010 22:17:47 +0000 (22:17 +0000)
git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@863 be3aeb3a-fb24-0410-a615-afba39da0efa

common/common.mak
common/main.c
linux/Makefile
linux/host_dasm.c
linux/port_config.h

index 3ddf3fb..061771e 100644 (file)
@@ -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
index b0ad4ba..7167df2 100644 (file)
@@ -13,6 +13,7 @@
 #include "config.h"\r
 #include "input.h"\r
 #include "plat.h"\r
+#include <cpu/debug.h>\r
 #include <version.h>\r
 \r
 \r
@@ -34,6 +35,12 @@ void parse_cmd_line(int argc, char *argv[])
                        else if (strcasecmp(argv[x], "-loadstate") == 0) {\r
                                if (x+1 < argc) { ++x; load_state_slot = atoi(argv[x]); }\r
                        }\r
+                       else if (strcasecmp(argv[x], "-pdb") == 0) {\r
+                               if (x+1 < argc) { ++x; pdb_command(argv[x]); }\r
+                       }\r
+                       else if (strcasecmp(argv[x], "-pdb_connect") == 0) {\r
+                               if (x+2 < argc) { pdb_net_connect(argv[x+1], argv[x+2]); x += 2; }\r
+                       }\r
                        else {\r
                                unrecognized = 1;\r
                                break;\r
index 627c2e2..1fb54d3 100644 (file)
@@ -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
 
index 0b97821..a63a9ac 100644 (file)
@@ -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");
   }
index 7e05d7d..d9ccb47 100644 (file)
@@ -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...)