might be more impressive if it actually worked, like this

This commit is contained in:
Arisotura 2019-06-18 23:05:36 +02:00
parent 606a40e6b8
commit b1ed835ae9
1 changed files with 6 additions and 3 deletions

View File

@ -118,13 +118,16 @@ void DSi_NDMA::Start()
// TODO: how does GXFIFO DMA work with all the block shito?
IterCount = RemCount;
if (IterCount > TotalRemCount)
IterCount = TotalRemCount;
if (((StartMode & 0x1F) != 0x10) && !(Cnt & (1<<29)))
{
if (IterCount > TotalRemCount)
IterCount = TotalRemCount;
}
if (Cnt & (1<<12)) CurDstAddr = DstAddr;
if (Cnt & (1<<15)) CurSrcAddr = SrcAddr;
printf("ARM%d NDMA%d %08X %02X %08X->%08X %d bytes\n", CPU?7:9, Num, Cnt, StartMode, CurSrcAddr, CurDstAddr, RemCount*4);
printf("ARM%d NDMA%d %08X %02X %08X->%08X %d bytes, total=%d\n", CPU?7:9, Num, Cnt, StartMode, CurSrcAddr, CurDstAddr, RemCount*4, TotalRemCount*4);
//IsGXFIFODMA = (CPU == 0 && (CurSrcAddr>>24) == 0x02 && CurDstAddr == 0x04000400 && DstAddrInc == 0);