aboutsummaryrefslogtreecommitdiff
path: root/src/NDS.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/NDS.cpp')
-rw-r--r--src/NDS.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/NDS.cpp b/src/NDS.cpp
index a2ab6ce..b8fd8cb 100644
--- a/src/NDS.cpp
+++ b/src/NDS.cpp
@@ -32,6 +32,7 @@
#include "Wifi.h"
#include "AREngine.h"
#include "Platform.h"
+#include "ARMJIT.h"
namespace NDS
@@ -161,6 +162,8 @@ bool Init()
ARM9 = new ARMv5();
ARM7 = new ARMv4();
+ ARMJIT::Init();
+
DMAs[0] = new DMA(0, 0);
DMAs[1] = new DMA(0, 1);
DMAs[2] = new DMA(0, 2);
@@ -191,6 +194,8 @@ void DeInit()
delete ARM9;
delete ARM7;
+ ARMJIT::DeInit();
+
for (int i = 0; i < 8; i++)
delete DMAs[i];
@@ -1822,6 +1827,8 @@ u32 ARM9Read32(u32 addr)
void ARM9Write8(u32 addr, u8 val)
{
+ ARMJIT::Invalidate16(0, addr);
+
switch (addr & 0xFF000000)
{
case 0x02000000:
@@ -1872,6 +1879,8 @@ void ARM9Write8(u32 addr, u8 val)
void ARM9Write16(u32 addr, u16 val)
{
+ ARMJIT::Invalidate16(0, addr);
+
switch (addr & 0xFF000000)
{
case 0x02000000:
@@ -1938,6 +1947,8 @@ void ARM9Write16(u32 addr, u16 val)
void ARM9Write32(u32 addr, u32 val)
{
+ ARMJIT::Invalidate32(0, addr);
+
switch (addr & 0xFF000000)
{
case 0x02000000:
@@ -2231,6 +2242,8 @@ u32 ARM7Read32(u32 addr)
void ARM7Write8(u32 addr, u8 val)
{
+ ARMJIT::Invalidate16(1, addr);
+
switch (addr & 0xFF800000)
{
case 0x02000000:
@@ -2290,6 +2303,8 @@ void ARM7Write8(u32 addr, u8 val)
void ARM7Write16(u32 addr, u16 val)
{
+ ARMJIT::Invalidate16(1, addr);
+
switch (addr & 0xFF800000)
{
case 0x02000000:
@@ -2359,6 +2374,8 @@ void ARM7Write16(u32 addr, u16 val)
void ARM7Write32(u32 addr, u32 val)
{
+ ARMJIT::Invalidate32(1, addr);
+
switch (addr & 0xFF800000)
{
case 0x02000000: