1
0
Fork 0
mirror of https://github.com/melonDS-emu/melonDS.git synced 2025-03-06 21:00:31 +01:00

more moving crud

This commit is contained in:
Jaklyy 2025-01-01 19:43:51 -05:00
parent aa2e827ce1
commit fbc388faa1

View file

@ -964,12 +964,6 @@ void NDS::MainRAMHandleARM9()
case MainRAMType::DMA32:
{
if (CPUStop & ((1<<ARM9.MRTrack.Var)-1))
{
memset(&ARM9.MRTrack, 0, sizeof(ARM9.MRTrack));
break;
}
DMA* dma = &DMAs[ARM9.MRTrack.Var];
int burststart = dma->Running - 1;
@ -1066,7 +1060,7 @@ void NDS::MainRAMHandleARM9()
if (burststart <= 1) dma->Running = 1;
else dma->Running = 2;
if ((dma->IterCount == 0) || ((ARM9Regions[dma->CurSrcAddr>>14] != Mem9_MainRAM) && (ARM9Regions[dma->CurDstAddr>>14] != Mem9_MainRAM)) || (DMA9Timestamp >= ARM9Target))
if ((dma->IterCount == 0) || ((ARM9Regions[dma->CurSrcAddr>>14] != Mem9_MainRAM) && (ARM9Regions[dma->CurDstAddr>>14] != Mem9_MainRAM)) || (DMA9Timestamp >= ARM9Target) || (CPUStop & ((1<<ARM9.MRTrack.Var)-1)))
memset(&ARM9.MRTrack, 0, sizeof(ARM9.MRTrack));
else
ARM9.MRTrack.Progress = 0;
@ -1076,12 +1070,6 @@ void NDS::MainRAMHandleARM9()
case MainRAMType::DMA16:
{
if (CPUStop & ((1<<ARM9.MRTrack.Var)-1))
{
memset(&ARM9.MRTrack, 0, sizeof(ARM9.MRTrack));
break;
}
DMA* dma = &DMAs[ARM9.MRTrack.Var];
int burststart = dma->Running - 1;
@ -1178,7 +1166,7 @@ void NDS::MainRAMHandleARM9()
if (burststart <= 1) dma->Running = 1;
else dma->Running = 2;
if ((dma->IterCount == 0) || ((ARM9Regions[dma->CurSrcAddr>>14] != Mem9_MainRAM) && (ARM9Regions[dma->CurDstAddr>>14] != Mem9_MainRAM)) || (DMA9Timestamp >= ARM9Target))
if ((dma->IterCount == 0) || ((ARM9Regions[dma->CurSrcAddr>>14] != Mem9_MainRAM) && (ARM9Regions[dma->CurDstAddr>>14] != Mem9_MainRAM)) || (DMA9Timestamp >= ARM9Target) || (CPUStop & ((1<<ARM9.MRTrack.Var)-1)))
memset(&ARM9.MRTrack, 0, sizeof(ARM9.MRTrack));
else
ARM9.MRTrack.Progress = 0;
@ -1338,12 +1326,6 @@ void NDS::MainRAMHandleARM7()
case MainRAMType::DMA32:
{
if (CPUStop & CPUStop_DMA7 & ((1<<ARM7.MRTrack.Var)-1))
{
memset(&ARM7.MRTrack, 0, sizeof(ARM7.MRTrack));
break;
}
DMA* dma = &DMAs[ARM7.MRTrack.Var];
int burststart = dma->Running - 1;
@ -1434,7 +1416,7 @@ void NDS::MainRAMHandleARM7()
if (burststart <= 1) dma->Running = 1;
else dma->Running = 2;
if ((dma->IterCount == 0) || ((ARM7Regions[dma->CurSrcAddr>>15] != Mem7_MainRAM) && (ARM7Regions[dma->CurDstAddr>>15] != Mem7_MainRAM)) || (ARM7Timestamp >= ARM7Target))
if ((dma->IterCount == 0) || ((ARM7Regions[dma->CurSrcAddr>>15] != Mem7_MainRAM) && (ARM7Regions[dma->CurDstAddr>>15] != Mem7_MainRAM)) || (ARM7Timestamp >= ARM7Target) || (CPUStop & CPUStop_DMA7 & ((1<<ARM7.MRTrack.Var)-1)))
memset(&ARM7.MRTrack, 0, sizeof(ARM7.MRTrack));
else
ARM7.MRTrack.Progress = 0;
@ -1444,12 +1426,6 @@ void NDS::MainRAMHandleARM7()
case MainRAMType::DMA16:
{
if (CPUStop & CPUStop_DMA7 & ((1<<ARM7.MRTrack.Var)-1))
{
memset(&ARM7.MRTrack, 0, sizeof(ARM7.MRTrack));
break;
}
DMA* dma = &DMAs[ARM7.MRTrack.Var];
int burststart = dma->Running - 1;
@ -1540,7 +1516,7 @@ void NDS::MainRAMHandleARM7()
if (burststart <= 1) dma->Running = 1;
else dma->Running = 2;
if ((dma->IterCount == 0) || ((ARM7Regions[dma->CurSrcAddr>>15] != Mem7_MainRAM) && (ARM7Regions[dma->CurDstAddr>>15] != Mem7_MainRAM)) || (ARM7Timestamp >= ARM7Target))
if ((dma->IterCount == 0) || ((ARM7Regions[dma->CurSrcAddr>>15] != Mem7_MainRAM) && (ARM7Regions[dma->CurDstAddr>>15] != Mem7_MainRAM)) || (ARM7Timestamp >= ARM7Target) || (CPUStop & CPUStop_DMA7 & ((1<<ARM7.MRTrack.Var)-1)))
memset(&ARM7.MRTrack, 0, sizeof(ARM7.MRTrack));
else
ARM7.MRTrack.Progress = 0;