diff options
author | Mike Pavone <pavone@retrodev.com> | 2012-12-27 22:48:54 -0800 |
---|---|---|
committer | Mike Pavone <pavone@retrodev.com> | 2012-12-27 22:48:54 -0800 |
commit | 6609f3fd72422469c6bf4ebc6a6630ce25a4796b (patch) | |
tree | 447557231a80719be8aa59f493591ac7116e85d9 | |
parent | 80c0e194e52522d8c73b04754842c78b015f9307 (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.c | 4 | ||||
-rw-r--r-- | dis.c | 6 |
2 files changed, 5 insertions, 5 deletions
@@ -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); @@ -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) { |