mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-23 06:10:03 -06:00
messin' around
This commit is contained in:
37
src/DSi.cpp
37
src/DSi.cpp
@ -35,6 +35,7 @@
|
||||
#include "DSi_I2C.h"
|
||||
#include "DSi_SD.h"
|
||||
#include "DSi_AES.h"
|
||||
#include "DSi_Camera.h"
|
||||
|
||||
#include "tiny-AES-c/aes.hpp"
|
||||
|
||||
@ -1406,6 +1407,12 @@ u8 ARM9IORead8(u32 addr)
|
||||
CASE_READ8_32BIT(0x04004060, MBK[0][8])
|
||||
}
|
||||
|
||||
if ((addr & 0xFFFFFF00) == 0x04004200)
|
||||
{
|
||||
if (!(SCFG_EXT[0] & (1<<17))) return 0;
|
||||
return DSi_Camera::Read8(addr);
|
||||
}
|
||||
|
||||
return NDS::ARM9IORead8(addr);
|
||||
}
|
||||
|
||||
@ -1428,6 +1435,12 @@ u16 ARM9IORead16(u32 addr)
|
||||
CASE_READ16_32BIT(0x04004060, MBK[0][8])
|
||||
}
|
||||
|
||||
if ((addr & 0xFFFFFF00) == 0x04004200)
|
||||
{
|
||||
if (!(SCFG_EXT[0] & (1<<17))) return 0;
|
||||
return DSi_Camera::Read16(addr);
|
||||
}
|
||||
|
||||
return NDS::ARM9IORead16(addr);
|
||||
}
|
||||
|
||||
@ -1480,6 +1493,12 @@ u32 ARM9IORead32(u32 addr)
|
||||
case 0x04004170: return NDMAs[3]->Cnt;
|
||||
}
|
||||
|
||||
if ((addr & 0xFFFFFF00) == 0x04004200)
|
||||
{
|
||||
if (!(SCFG_EXT[0] & (1<<17))) return 0;
|
||||
return DSi_Camera::Read32(addr);
|
||||
}
|
||||
|
||||
return NDS::ARM9IORead32(addr);
|
||||
}
|
||||
|
||||
@ -1519,6 +1538,12 @@ void ARM9IOWrite8(u32 addr, u8 val)
|
||||
case 0x04004053: MapNWRAM_C(7, val); return;
|
||||
}
|
||||
|
||||
if ((addr & 0xFFFFFF00) == 0x04004200)
|
||||
{
|
||||
if (!(SCFG_EXT[0] & (1<<17))) return;
|
||||
return DSi_Camera::Write8(addr, val);
|
||||
}
|
||||
|
||||
return NDS::ARM9IOWrite8(addr, val);
|
||||
}
|
||||
|
||||
@ -1572,6 +1597,12 @@ void ARM9IOWrite16(u32 addr, u16 val)
|
||||
return;
|
||||
}
|
||||
|
||||
if ((addr & 0xFFFFFF00) == 0x04004200)
|
||||
{
|
||||
if (!(SCFG_EXT[0] & (1<<17))) return;
|
||||
return DSi_Camera::Write16(addr, val);
|
||||
}
|
||||
|
||||
return NDS::ARM9IOWrite16(addr, val);
|
||||
}
|
||||
|
||||
@ -1678,6 +1709,12 @@ void ARM9IOWrite32(u32 addr, u32 val)
|
||||
case 0x04004170: NDMAs[3]->WriteCnt(val); return;
|
||||
}
|
||||
|
||||
if ((addr & 0xFFFFFF00) == 0x04004200)
|
||||
{
|
||||
if (!(SCFG_EXT[0] & (1<<17))) return;
|
||||
return DSi_Camera::Write32(addr, val);
|
||||
}
|
||||
|
||||
return NDS::ARM9IOWrite32(addr, val);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user