summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pavone <pavone@retrodev.com>2012-12-27 22:48:54 -0800
committerMike Pavone <pavone@retrodev.com>2012-12-27 22:48:54 -0800
commit6609f3fd72422469c6bf4ebc6a6630ce25a4796b (patch)
tree447557231a80719be8aa59f493591ac7116e85d9
parent80c0e194e52522d8c73b04754842c78b015f9307 (diff)
Don't pre-emptively translate code at interrupt vectors as some PD ROMs have these pointing at junk. Need some kind of heuristic for detecting garbage if I'm going to translate them ahead of time by default.
-rw-r--r--blastem.c4
-rw-r--r--dis.c6
2 files changed, 5 insertions, 5 deletions
diff --git a/blastem.c b/blastem.c
index c2823bf..17ed77d 100644
--- a/blastem.c
+++ b/blastem.c
@@ -487,12 +487,12 @@ int main(int argc, char ** argv)
//work RAM
context.mem_pointers[1] = ram;
uint32_t address;
- address = cart[0x68/2] << 16 | cart[0x6A/2];
+ /*address = cart[0x68/2] << 16 | cart[0x6A/2];
translate_m68k_stream(address, &context);
address = cart[0x70/2] << 16 | cart[0x72/2];
translate_m68k_stream(address, &context);
address = cart[0x78/2] << 16 | cart[0x7A/2];
- translate_m68k_stream(address, &context);
+ translate_m68k_stream(address, &context);*/
address = cart[2] << 16 | cart[3];
translate_m68k_stream(address, &context);
m68k_reset(&context);
diff --git a/dis.c b/dis.c
index c6357d8..be943f9 100644
--- a/dis.c
+++ b/dis.c
@@ -26,7 +26,7 @@ deferred * defer(uint32_t address, deferred * next)
if (is_visited(address)) {
return next;
}
- //printf("deferring %X\n", address);
+ printf("deferring %X\n", address);
deferred * d = malloc(sizeof(deferred));
d->address = address;
d->next = next;
@@ -84,8 +84,8 @@ int main(int argc, char ** argv)
next = m68k_decode(encoded, &instbuf, address);
address += (next-encoded)*2;
encoded = next;
- //m68k_disasm(&instbuf, disbuf);
- //printf("%X: %s\n", instbuf.address, disbuf);
+ m68k_disasm(&instbuf, disbuf);
+ printf("%X: %s\n", instbuf.address, disbuf);
if (instbuf.op == M68K_ILLEGAL || instbuf.op == M68K_RTS || instbuf.op == M68K_RTE) {
break;
} else if (instbuf.op == M68K_BCC || instbuf.op == M68K_DBCC || instbuf.op == M68K_BSR) {