mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2024-11-23 06:15:38 +00:00
DMA: Enable block splitting for linked list mode
This commit is contained in:
parent
88f1edd48d
commit
c81efb1142
|
@ -317,7 +317,7 @@ void DMA::TransferChannel(Channel channel, TickCount ticks_late)
|
||||||
Log_DebugPrintf("DMA%u: Copying linked list starting at 0x%08X to device", static_cast<u32>(channel),
|
Log_DebugPrintf("DMA%u: Copying linked list starting at 0x%08X to device", static_cast<u32>(channel),
|
||||||
current_address);
|
current_address);
|
||||||
|
|
||||||
for (;;)
|
while (cs.request)
|
||||||
{
|
{
|
||||||
u32 header;
|
u32 header;
|
||||||
m_bus->DispatchAccess<MemoryAccessType::Read, MemoryAccessSize::Word>(current_address & ADDRESS_MASK, header);
|
m_bus->DispatchAccess<MemoryAccessType::Read, MemoryAccessSize::Word>(current_address & ADDRESS_MASK, header);
|
||||||
|
@ -344,6 +344,12 @@ void DMA::TransferChannel(Channel channel, TickCount ticks_late)
|
||||||
}
|
}
|
||||||
|
|
||||||
cs.base_address = current_address;
|
cs.base_address = current_address;
|
||||||
|
|
||||||
|
if ((current_address & UINT32_C(0x800000)) == 0)
|
||||||
|
{
|
||||||
|
// linked list not yet complete
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue