aboutsummaryrefslogtreecommitdiff
path: root/src/NDS.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/NDS.cpp')
-rw-r--r--src/NDS.cpp26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/NDS.cpp b/src/NDS.cpp
index 2b468be..0b0263b 100644
--- a/src/NDS.cpp
+++ b/src/NDS.cpp
@@ -908,7 +908,7 @@ void RunSystem(u64 timestamp)
}
}
-template <bool EnableJIT>
+template <bool EnableJIT, int ConsoleType>
u32 RunFrame()
{
FrameStartTimestamp = SysTimestamp;
@@ -934,10 +934,10 @@ u32 RunFrame()
}
else if (CPUStop & 0x0FFF)
{
- DMAs[0]->Run();
- if (!(CPUStop & 0x80000000)) DMAs[1]->Run();
- if (!(CPUStop & 0x80000000)) DMAs[2]->Run();
- if (!(CPUStop & 0x80000000)) DMAs[3]->Run();
+ DMAs[0]->Run<ConsoleType>();
+ if (!(CPUStop & 0x80000000)) DMAs[1]->Run<ConsoleType>();
+ if (!(CPUStop & 0x80000000)) DMAs[2]->Run<ConsoleType>();
+ if (!(CPUStop & 0x80000000)) DMAs[3]->Run<ConsoleType>();
if (ConsoleType == 1) DSi::RunNDMAs(0);
}
else
@@ -962,10 +962,10 @@ u32 RunFrame()
if (CPUStop & 0x0FFF0000)
{
- DMAs[4]->Run();
- DMAs[5]->Run();
- DMAs[6]->Run();
- DMAs[7]->Run();
+ DMAs[4]->Run<ConsoleType>();
+ DMAs[5]->Run<ConsoleType>();
+ DMAs[6]->Run<ConsoleType>();
+ DMAs[7]->Run<ConsoleType>();
if (ConsoleType == 1) DSi::RunNDMAs(1);
}
else
@@ -1012,10 +1012,14 @@ u32 RunFrame()
{
#ifdef JIT_ENABLED
if (Config::JIT_Enable)
- return RunFrame<true>();
+ return NDS::ConsoleType == 1
+ ? RunFrame<true, 1>()
+ : RunFrame<true, 0>();
else
#endif
- return RunFrame<false>();
+ return NDS::ConsoleType == 0
+ ? RunFrame<false, 1>()
+ : RunFrame<false, 0>();
}
void Reschedule(u64 target)