aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStapleButter <thetotalworm@gmail.com>2018-12-09 01:46:10 +0100
committerStapleButter <thetotalworm@gmail.com>2018-12-09 01:46:10 +0100
commitaba4610d45c67c552077e40da5a3d6039e559919 (patch)
treee5e263350105ff9cff2e70bc5240699c088a28f4
parentb569c03884a8384c94187c6a7896982d42446490 (diff)
fix bugs
still kinda shitty tho. like, we lost enough timer accuracy to have visible effects (aging cart tests that fail, FMVs that play too slow, etc)
-rw-r--r--src/ARM.cpp2
-rw-r--r--src/NDS.cpp2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/ARM.cpp b/src/ARM.cpp
index 09ee17d..24858c2 100644
--- a/src/ARM.cpp
+++ b/src/ARM.cpp
@@ -461,7 +461,7 @@ s32 ARMv5::Execute()
else
{
Cycles = CyclesToRun;
- NDS::RunTimingCriticalDevices(0, CyclesToRun >> ClockShift);
+ //NDS::RunTimingCriticalDevices(0, CyclesToRun >> ClockShift);
return Cycles;
}
}
diff --git a/src/NDS.cpp b/src/NDS.cpp
index 28d459d..d3557d2 100644
--- a/src/NDS.cpp
+++ b/src/NDS.cpp
@@ -764,11 +764,13 @@ u32 RunFrame()
if (CPUStop & 0x0FFF0000)
{
s32 cycles = ndscyclestorun - ARM7Offset;
+ s32 critcycles = cycles;
cycles = DMAs[4]->Run(cycles);
if (cycles > 0) cycles = DMAs[5]->Run(cycles);
if (cycles > 0) cycles = DMAs[6]->Run(cycles);
if (cycles > 0) cycles = DMAs[7]->Run(cycles);
ARM7Offset = -cycles;
+ RunTimingCriticalDevices(1, critcycles);
}
else
{