summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Happy <Happy-yappH@users.noreply.github.com>2017-03-13 15:20:19 -0600
committer Happy <Happy-yappH@users.noreply.github.com>2017-03-13 15:20:19 -0600
commit53d9eb58f7d76a7d59409970d71f2f058443fc6e (patch)
tree3befa0da1ad11897c267c9bc34d946ccb2fbfb85
parent7939dcf625eca30d57cc982bfe2c52b04485ddb2 (diff)
n64 - Flush RSP drc cache when SP DMA changes IMEM
-rw-r--r--src/mame/machine/n64.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mame/machine/n64.cpp b/src/mame/machine/n64.cpp
index 507c1447230..dcf424d69c9 100644
--- a/src/mame/machine/n64.cpp
+++ b/src/mame/machine/n64.cpp
@@ -569,6 +569,10 @@ void n64_periphs::sp_dma(int direction)
uint32_t *sp_mem[2] = { m_rsp_dmem, m_rsp_imem };
int sp_mem_page = (sp_mem_addr >> 12) & 1;
+
+ if(sp_mem_page == 1)
+ m_rsp->rspdrc_flush_drc_cache();
+
if(direction == 0)// RDRAM -> I/DMEM
{
for(int c = 0; c <= sp_dma_count; c++)