hopefully reduce desync potential a little?
This commit is contained in:
parent
610ac2491a
commit
5e945669f5
10
src/NDS.cpp
10
src/NDS.cpp
|
@ -1524,12 +1524,15 @@ u32 NDS::RunFrame()
|
||||||
|
|
||||||
ARM9Target = target << ARM9ClockShift;
|
ARM9Target = target << ARM9ClockShift;
|
||||||
ARM7Target = target;
|
ARM7Target = target;
|
||||||
CurCPU = 0;
|
|
||||||
|
|
||||||
while ((std::max(ARM9Timestamp, DMA9Timestamp) < ARM9Target) && (ARM7Timestamp < ARM7Target))
|
while ((std::max(ARM9Timestamp, DMA9Timestamp) < ARM9Target) && (ARM7Timestamp < ARM7Target))
|
||||||
{
|
{
|
||||||
|
CurCPU = 0;
|
||||||
while (std::max(ARM9Timestamp, DMA9Timestamp) < ARM9Target)
|
while (std::max(ARM9Timestamp, DMA9Timestamp) < ARM9Target)
|
||||||
{
|
{
|
||||||
|
RunTimers(0);
|
||||||
|
GPU.GPU3D.Run();
|
||||||
|
|
||||||
if (ARM9.MRTrack.Type == MainRAMType::Null)
|
if (ARM9.MRTrack.Type == MainRAMType::Null)
|
||||||
{
|
{
|
||||||
if (CPUStop & CPUStop_GXStall)
|
if (CPUStop & CPUStop_GXStall)
|
||||||
|
@ -1563,7 +1566,6 @@ u32 NDS::RunFrame()
|
||||||
GPU.GPU3D.Run();
|
GPU.GPU3D.Run();
|
||||||
|
|
||||||
if (MainRAMHandle()) break;
|
if (MainRAMHandle()) break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CurCPU = 1;
|
CurCPU = 1;
|
||||||
|
@ -1572,6 +1574,8 @@ u32 NDS::RunFrame()
|
||||||
{
|
{
|
||||||
//printf("A7 LOOP: %lli %lli\n", ARM9Timestamp>>ARM9ClockShift, ARM7Timestamp);
|
//printf("A7 LOOP: %lli %lli\n", ARM9Timestamp>>ARM9ClockShift, ARM7Timestamp);
|
||||||
|
|
||||||
|
RunTimers(1);
|
||||||
|
|
||||||
if (ARM7.MRTrack.Type == MainRAMType::Null)
|
if (ARM7.MRTrack.Type == MainRAMType::Null)
|
||||||
{
|
{
|
||||||
if (CPUStop & CPUStop_DMA7)
|
if (CPUStop & CPUStop_DMA7)
|
||||||
|
@ -1614,7 +1618,7 @@ u32 NDS::RunFrame()
|
||||||
#ifdef DEBUG_CHECK_DESYNC
|
#ifdef DEBUG_CHECK_DESYNC
|
||||||
Log(LogLevel::Debug, "[%08X%08X] ARM9=%ld, ARM7=%ld, GPU=%ld\n",
|
Log(LogLevel::Debug, "[%08X%08X] ARM9=%ld, ARM7=%ld, GPU=%ld\n",
|
||||||
(u32)(SysTimestamp>>32), (u32)SysTimestamp,
|
(u32)(SysTimestamp>>32), (u32)SysTimestamp,
|
||||||
(std::max(ARM9Timestamp,DMA9Timestamp)>>ARM9ClockShift)-SysTimestamp,
|
std::max(std::max(ARM9Timestamp,DMA9Timestamp)>>ARM9ClockShift, A9ContentionTS)-SysTimestamp,
|
||||||
ARM7Timestamp-SysTimestamp,
|
ARM7Timestamp-SysTimestamp,
|
||||||
GPU.GPU3D.Timestamp-SysTimestamp);
|
GPU.GPU3D.Timestamp-SysTimestamp);
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue