Skip to content

Commit bdea152

Browse files
authored
Merge pull request #735 from jrdnrs/libsd_fixes
Fix SPU2 DMA address calculation
2 parents f61aa12 + 38920ab commit bdea152

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

iop/sound/libsd/src/libsd.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1548,9 +1548,9 @@ static u32 DmaStartStop(int mainarg, void *vararg2, u32 vararg3)
15481548
switch ( mainarg & 0xF )
15491549
{
15501550
case 2:
1551-
tsa_tmp = ((u16)(uiptr)vararg2 >> 1) & ~7;
1552-
spu2_mmio_hwport->m_u.m_m.m_core_regs[core].m_cregs.m_tsa.m_pair[1] = tsa_tmp;
1553-
spu2_mmio_hwport->m_u.m_m.m_core_regs[core].m_cregs.m_tsa.m_pair[0] = (tsa_tmp >> 16) & 0xFFFF;
1551+
tsa_tmp = ((uiptr)vararg2 >> 1) & ~7;
1552+
spu2_mmio_hwport->m_u.m_m.m_core_regs[core].m_cregs.m_tsa.m_pair[0] = (tsa_tmp >> 16) & 0x000F;
1553+
spu2_mmio_hwport->m_u.m_m.m_core_regs[core].m_cregs.m_tsa.m_pair[1] = tsa_tmp & 0xFFFF;
15541554
return 0;
15551555
case 4:
15561556
if ( (spu2_mmio_hwport->m_u.m_m.m_core_regs[core].m_cregs.m_attr & SD_DMA_IN_PROCESS) )

0 commit comments

Comments
 (0)