summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/cpu/scudsp/scudsp.c
diff options
context:
space:
mode:
author Angelo Salese <angelosa@users.noreply.github.com>2013-10-10 22:37:42 +0000
committer Angelo Salese <angelosa@users.noreply.github.com>2013-10-10 22:37:42 +0000
commit92496658dcfffcb5184d1ab721b046af9cd6c5d3 (patch)
treee090c71f40a8ad7d7fc22e32894fb06137a6cc05 /src/emu/cpu/scudsp/scudsp.c
parent62854ddd720ec3e565e02bff1e39ae8ad13572c4 (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.c16
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 )
{