diff options
Diffstat (limited to 'cpu_threaded.c')
-rw-r--r-- | cpu_threaded.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/cpu_threaded.c b/cpu_threaded.c index 8b7dc0e..832e212 100644 --- a/cpu_threaded.c +++ b/cpu_threaded.c @@ -276,6 +276,7 @@ void translate_icache_sync() { check_pc_region(pc); \ opcode = address32(pc_address_block, (pc & 0x7FFF)); \ condition = block_data[block_data_position].condition; \ + emit_trace_arm_instruction(pc); \ \ if((condition != last_condition) || (condition >= 0x20)) \ { \ @@ -1715,6 +1716,7 @@ void translate_icache_sync() { check_pc_region(pc); \ last_opcode = opcode; \ opcode = address16(pc_address_block, (pc & 0x7FFF)); \ + emit_trace_thumb_instruction(pc); \ \ switch((opcode >> 8) & 0xFF) \ { \ @@ -3711,7 +3713,7 @@ void flush_translation_cache_bios(void) memset(bios_rom + 0x4000, 0, 0x4000); } -void wipe_caches(void) +void init_caches(void) { /* Ensure we wipe everything including the SMC mirrors */ flush_translation_cache_rom(); @@ -3721,6 +3723,8 @@ void wipe_caches(void) iwram_code_max = 0x7FFF; flush_translation_cache_ram(); flush_translation_cache_bios(); + /* Ensure 0 and FFFF get zeroed out */ + memset(ram_block_ptrs, 0, sizeof(ram_block_ptrs)); } #define cache_dump_prefix "" |