From 570f6c134df23f96d18b979b5c9e8f0a2a60daae Mon Sep 17 00:00:00 2001 From: smf- Date: Thu, 25 Apr 2013 14:30:40 +0000 Subject: [PATCH] changed loop detection hack to use address mask to stop it crashing, nfs vrally 2 doesn't crash straight away but it's graphics are completely corrupt. (nw) --- src/emu/cpu/psx/dma.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/emu/cpu/psx/dma.c b/src/emu/cpu/psx/dma.c index 0b4c8e13a14..efab4037d52 100644 --- a/src/emu/cpu/psx/dma.c +++ b/src/emu/cpu/psx/dma.c @@ -173,10 +173,13 @@ void psxdma_device::dma_finished( int index ) // the hardware. // Mametesters.org: psyforce0105u5red, raystorm0111u1red if ((n_nextaddress & 0xffffff) != 0xffffff) - if (n_address == m_ram[ (n_nextaddress & 0xffffff) / 4]) + { + if (n_address == m_ram[ (n_nextaddress & n_adrmask) / 4] || + n_address == (n_nextaddress & n_adrmask) ) + { break; - if (n_address == (n_nextaddress & 0xffffff) ) - break; + } + } n_address = ( n_nextaddress & 0xffffff ); n_total += ( n_size + 1 );