diff options
author | 2013-10-10 22:37:42 +0000 | |
---|---|---|
committer | 2013-10-10 22:37:42 +0000 | |
commit | 92496658dcfffcb5184d1ab721b046af9cd6c5d3 (patch) | |
tree | e090c71f40a8ad7d7fc22e32894fb06137a6cc05 /src/emu/cpu/scudsp/scudsp.c | |
parent | 62854ddd720ec3e565e02bff1e39ae8ad13572c4 (diff) |
Fixed SH-2->DSP DMA operation, new core doesn't fart anymore
Diffstat (limited to 'src/emu/cpu/scudsp/scudsp.c')
-rw-r--r-- | src/emu/cpu/scudsp/scudsp.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/emu/cpu/scudsp/scudsp.c b/src/emu/cpu/scudsp/scudsp.c index 526162cd429..6e2e9e4559b 100644 --- a/src/emu/cpu/scudsp/scudsp.c +++ b/src/emu/cpu/scudsp/scudsp.c @@ -302,7 +302,21 @@ void scudsp_cpu_device::scudsp_set_dest_dma_mem( UINT32 memcode, UINT32 value, U { if ( memcode < 4 ) { - scudsp_set_dest_mem_reg( memcode, value ); + switch(memcode) + { + case 0x0: /* MC0 */ + scudsp_writemem(((m_ct0 + counter) & 0x3f),0,value); + break; + case 0x1: /* MC1 */ + scudsp_writemem(((m_ct1 + counter) & 0x3f),1,value); + break; + case 0x2: /* MC2 */ + scudsp_writemem(((m_ct2 + counter) & 0x3f),2,value); + break; + case 0x3: /* MC3 */ + scudsp_writemem(((m_ct3 + counter) & 0x3f),3,value); + break; + } } else if ( memcode == 4 ) { |