mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-23 14:19:55 -06:00
JIT: base
all instructions are interpreted
This commit is contained in:
17
src/NDS.cpp
17
src/NDS.cpp
@ -32,6 +32,7 @@
|
||||
#include "Wifi.h"
|
||||
#include "AREngine.h"
|
||||
#include "Platform.h"
|
||||
#include "ARMJIT.h"
|
||||
|
||||
#include "DSi.h"
|
||||
#include "DSi_SPI_TSC.h"
|
||||
@ -168,6 +169,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);
|
||||
@ -200,6 +203,8 @@ void DeInit()
|
||||
delete ARM9;
|
||||
delete ARM7;
|
||||
|
||||
ARMJIT::DeInit();
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
delete DMAs[i];
|
||||
|
||||
@ -1971,6 +1976,8 @@ u32 ARM9Read32(u32 addr)
|
||||
|
||||
void ARM9Write8(u32 addr, u8 val)
|
||||
{
|
||||
ARMJIT::Invalidate16(0, addr);
|
||||
|
||||
switch (addr & 0xFF000000)
|
||||
{
|
||||
case 0x02000000:
|
||||
@ -2021,6 +2028,8 @@ void ARM9Write8(u32 addr, u8 val)
|
||||
|
||||
void ARM9Write16(u32 addr, u16 val)
|
||||
{
|
||||
ARMJIT::Invalidate16(0, addr);
|
||||
|
||||
switch (addr & 0xFF000000)
|
||||
{
|
||||
case 0x02000000:
|
||||
@ -2087,6 +2096,8 @@ void ARM9Write16(u32 addr, u16 val)
|
||||
|
||||
void ARM9Write32(u32 addr, u32 val)
|
||||
{
|
||||
ARMJIT::Invalidate32(0, addr);
|
||||
|
||||
switch (addr & 0xFF000000)
|
||||
{
|
||||
case 0x02000000:
|
||||
@ -2381,6 +2392,8 @@ u32 ARM7Read32(u32 addr)
|
||||
|
||||
void ARM7Write8(u32 addr, u8 val)
|
||||
{
|
||||
ARMJIT::Invalidate16(1, addr);
|
||||
|
||||
switch (addr & 0xFF800000)
|
||||
{
|
||||
case 0x02000000:
|
||||
@ -2440,6 +2453,8 @@ void ARM7Write8(u32 addr, u8 val)
|
||||
|
||||
void ARM7Write16(u32 addr, u16 val)
|
||||
{
|
||||
ARMJIT::Invalidate16(1, addr);
|
||||
|
||||
switch (addr & 0xFF800000)
|
||||
{
|
||||
case 0x02000000:
|
||||
@ -2509,6 +2524,8 @@ void ARM7Write16(u32 addr, u16 val)
|
||||
|
||||
void ARM7Write32(u32 addr, u32 val)
|
||||
{
|
||||
ARMJIT::Invalidate32(1, addr);
|
||||
|
||||
switch (addr & 0xFF800000)
|
||||
{
|
||||
case 0x02000000:
|
||||
|
Reference in New Issue
Block a user