aboutsummaryrefslogtreecommitdiff
path: root/NDS.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'NDS.cpp')
-rw-r--r--NDS.cpp77
1 files changed, 71 insertions, 6 deletions
diff --git a/NDS.cpp b/NDS.cpp
index 038cf09..077164c 100644
--- a/NDS.cpp
+++ b/NDS.cpp
@@ -85,10 +85,31 @@ void Halt()
}
-u32 ARM9Read32(u32 addr)
+
+u8 ARM9Read8(u32 addr)
+{
+ if ((addr & 0xFFFFF000) == 0xFFFF0000)
+ {
+ return *(u8*)&ARM9BIOS[addr & 0xFFF];
+ }
+
+ printf("unknown arm9 read8 %08X\n", addr);
+ return 0;
+}
+
+u16 ARM9Read16(u32 addr)
{
- // implement ARM9y shit here, like memory protection
+ if ((addr & 0xFFFFF000) == 0xFFFF0000)
+ {
+ return *(u16*)&ARM9BIOS[addr & 0xFFF];
+ }
+
+ printf("unknown arm9 read16 %08X\n", addr);
+ return 0;
+}
+u32 ARM9Read32(u32 addr)
+{
if ((addr & 0xFFFFF000) == 0xFFFF0000)
{
return *(u32*)&ARM9BIOS[addr & 0xFFF];
@@ -98,6 +119,45 @@ u32 ARM9Read32(u32 addr)
return 0;
}
+void ARM9Write8(u32 addr, u8 val)
+{
+ printf("unknown arm9 write8 %08X %02X\n", addr, val);
+}
+
+void ARM9Write16(u32 addr, u16 val)
+{
+ printf("unknown arm9 write16 %08X %04X\n", addr, val);
+}
+
+void ARM9Write32(u32 addr, u32 val)
+{
+ printf("unknown arm9 write32 %08X %08X\n", addr, val);
+}
+
+
+
+u8 ARM7Read8(u32 addr)
+{
+ if (addr < 0x00004000)
+ {
+ return *(u8*)&ARM7BIOS[addr];
+ }
+
+ printf("unknown arm7 read8 %08X\n", addr);
+ return 0;
+}
+
+u16 ARM7Read16(u32 addr)
+{
+ if (addr < 0x00004000)
+ {
+ return *(u16*)&ARM7BIOS[addr];
+ }
+
+ printf("unknown arm7 read16 %08X\n", addr);
+ return 0;
+}
+
u32 ARM7Read32(u32 addr)
{
if (addr < 0x00004000)
@@ -109,14 +169,19 @@ u32 ARM7Read32(u32 addr)
return 0;
}
-template<typename T> T Read(u32 addr)
+void ARM7Write8(u32 addr, u8 val)
+{
+ printf("unknown arm7 write8 %08X %02X\n", addr, val);
+}
+
+void ARM7Write16(u32 addr, u16 val)
{
- return (T)0;
+ printf("unknown arm7 write16 %08X %04X\n", addr, val);
}
-template<typename T> void Write(u32 addr, T val)
+void ARM7Write32(u32 addr, u32 val)
{
- //
+ printf("unknown arm7 write32 %08X %08X\n", addr, val);
}
}