mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 15:27:46 -04:00
platform, debug dump if no disassembler support
This commit is contained in:
parent
eba9396473
commit
cc19f5a12d
1 changed files with 27 additions and 2 deletions
|
@ -7,10 +7,10 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#ifdef __mips__
|
#if defined __mips__
|
||||||
#include "dismips.c"
|
#include "dismips.c"
|
||||||
#define disasm dismips
|
#define disasm dismips
|
||||||
#else
|
#elif defined __arm__
|
||||||
#include "disarm.c"
|
#include "disarm.c"
|
||||||
#define disasm disarm
|
#define disasm disarm
|
||||||
#endif
|
#endif
|
||||||
|
@ -36,6 +36,7 @@ static const char *lookup_name(void *addr)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef disasm
|
||||||
void host_dasm(void *addr, int len)
|
void host_dasm(void *addr, int len)
|
||||||
{
|
{
|
||||||
void *end = (char *)addr + len;
|
void *end = (char *)addr + len;
|
||||||
|
@ -65,6 +66,30 @@ void host_dasm(void *addr, int len)
|
||||||
addr = (char *)addr + sizeof(long);
|
addr = (char *)addr + sizeof(long);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
void host_dasm(void *addr, int len)
|
||||||
|
{
|
||||||
|
char *end = (char *)addr + len;
|
||||||
|
char buf[64];
|
||||||
|
char *p = addr;
|
||||||
|
int i = 0, o = 0;
|
||||||
|
|
||||||
|
o = snprintf(buf, sizeof(buf), "%p: ", p);
|
||||||
|
while (p < end) {
|
||||||
|
o += snprintf(buf+o, sizeof(buf)-o, "%02x ", *p++);
|
||||||
|
if (++i >= 16) {
|
||||||
|
buf[o] = '\0';
|
||||||
|
printf("%s\n", buf);
|
||||||
|
o = snprintf(buf, sizeof(buf), "%p: ", p);
|
||||||
|
i = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (i) {
|
||||||
|
buf[o] = '\0';
|
||||||
|
printf("%s\n", buf);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void host_dasm_new_symbol_(void *addr, const char *name)
|
void host_dasm_new_symbol_(void *addr, const char *name)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue