(ram_translation_ptr - ram_translation_cache) + 0x100);
#endif
ram_translation_ptr = ram_translation_cache;
+ last_ram_translation_ptr = ram_translation_cache;
ram_block_tag_top = 0x0101;
if(iwram_code_min != 0xFFFFFFFF)
{
#endif
rom_translation_ptr = rom_translation_cache;
+ last_rom_translation_ptr = rom_translation_cache;
memset(rom_branch_hash, 0, sizeof(rom_branch_hash));
}
bios_block_tag_top = 0x0101;
bios_translation_ptr = bios_translation_cache;
+ last_bios_translation_ptr = bios_translation_cache;
memset(bios_rom + 0x4000, 0, 0x4000);
}
u8 *last_bios_translation_ptr = bios_translation_cache;
#define translate_invalidate_dcache_one(which) \
- if (which##_translation_ptr < last_##which##_translation_ptr) \
- last_##which##_translation_ptr = which##_translation_cache; \
if (which##_translation_ptr > last_##which##_translation_ptr) \
{ \
- /*warm_cache_op_range(WOP_D_CLEAN, last_##which##_translation_ptr, \
- which##_translation_ptr - last_##which##_translation_ptr);*/ \
+ warm_cache_op_range(WOP_D_CLEAN, last_##which##_translation_ptr, \
+ which##_translation_ptr - last_##which##_translation_ptr); \
warm_cache_op_range(WOP_I_INVALIDATE, last_##which##_translation_ptr, 32);\
last_##which##_translation_ptr = which##_translation_ptr; \
}
translate_invalidate_dcache_one(rom) \
translate_invalidate_dcache_one(ram) \
translate_invalidate_dcache_one(bios) \
- /* notaz: tried cleaning dcache ranges, but it doesn't work for every game, \
- * don't know why */ \
- warm_cache_op_all(WOP_D_CLEAN); \
}
#define invalidate_icache_region(addr, size) \