aboutsummaryrefslogtreecommitdiff
path: root/src
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 /src
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)
Diffstat (limited to 'src')
-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
{