maple: don't assert dma interrupt if using hardware dma trigger
Fixes Virtua Cop 2 pause when shooting. Regression due to ecce915
Issue #474
This commit is contained in:
parent
00f60a3d62
commit
cb0b667129
|
@ -47,34 +47,29 @@ void maple_vblank()
|
|||
{
|
||||
if (SB_MDEN & 1)
|
||||
{
|
||||
if (SDCKBOccupied)
|
||||
if (SB_MDTSEL == 1)
|
||||
{
|
||||
maple_schd(0, 0, 0, nullptr);
|
||||
SDCKBOccupied = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (SB_MDTSEL == 1)
|
||||
{
|
||||
if (maple_ddt_pending_reset)
|
||||
{
|
||||
DEBUG_LOG(MAPLE, "DDT vblank ; reset pending");
|
||||
}
|
||||
else
|
||||
{
|
||||
DEBUG_LOG(MAPLE, "DDT vblank");
|
||||
SB_MDST = 1;
|
||||
maple_DoDma();
|
||||
// if trigger reset is manual, mark it as pending
|
||||
if ((SB_MSYS >> 12) & 1)
|
||||
maple_ddt_pending_reset = true;
|
||||
}
|
||||
// Hardware trigger on vblank
|
||||
if (maple_ddt_pending_reset) {
|
||||
DEBUG_LOG(MAPLE, "DDT vblank ; reset pending");
|
||||
}
|
||||
else
|
||||
{
|
||||
maple_ddt_pending_reset = false;
|
||||
DEBUG_LOG(MAPLE, "DDT vblank");
|
||||
SB_MDST = 1;
|
||||
maple_DoDma();
|
||||
// if trigger reset is manual, mark it as pending
|
||||
if ((SB_MSYS >> 12) & 1)
|
||||
maple_ddt_pending_reset = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
maple_ddt_pending_reset = false;
|
||||
if (SDCKBOccupied)
|
||||
maple_schd(0, 0, 0, nullptr);
|
||||
}
|
||||
SDCKBOccupied = false;
|
||||
}
|
||||
if (settings.platform.isConsole())
|
||||
maple_handle_reconnect();
|
||||
|
|
Loading…
Reference in New Issue