summaryrefslogtreecommitdiff
path: root/cpu_threaded.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpu_threaded.c')
-rw-r--r--cpu_threaded.c6
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 ""