summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Happy <Happy-yappH@users.noreply.github.com>2016-04-21 14:23:07 -0600
committer Happy <Happy-yappH@users.noreply.github.com>2016-04-21 14:23:07 -0600
commit896f4bd21c98ab294119a54bd22e6325261d1315 (patch)
treec673da4990093e03f778e366ff2f5029c14c6dd1
parentcb7924b731d801a5b70bc1fb020b3b466434b9fe (diff)
N64: Adjust SI timing . . . again.
-rw-r--r--src/mame/machine/n64.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mame/machine/n64.cpp b/src/mame/machine/n64.cpp
index b7968787d94..2b234497315 100644
--- a/src/mame/machine/n64.cpp
+++ b/src/mame/machine/n64.cpp
@@ -2089,6 +2089,11 @@ void n64_periphs::si_dma_tick()
void n64_periphs::pif_dma(int direction)
{
+ if(si_status & 1)
+ {
+ si_status |= 8; //DMA Error, overlapping request
+ return; // SI Busy, ignore request
+ }
if (!DWORD_ALIGNED(si_dram_addr))
{
fatalerror("pif_dma: si_dram_addr unaligned: %08X\n", si_dram_addr);
@@ -2127,7 +2132,7 @@ void n64_periphs::pif_dma(int direction)
}
}
si_status |= 1;
- si_dma_timer->adjust(attotime::from_hz(10000));
+ si_dma_timer->adjust(attotime::from_hz(50000));
}
READ32_MEMBER( n64_periphs::si_reg_r )